Mam duży stół i chcę dodać kolumnę, która ma losowo wybraną liczbę dla każdego rekordu. 1, 2 lub 3.Aktualizacja MySQL z liczbami losowymi między 1-3
Trudno. Jakieś pomysły?
Mam duży stół i chcę dodać kolumnę, która ma losowo wybraną liczbę dla każdego rekordu. 1, 2 lub 3.Aktualizacja MySQL z liczbami losowymi między 1-3
Trudno. Jakieś pomysły?
Spróbuj tego:
UPDATE tableName SET columnName = FLOOR(1 + RAND() *3);
Z MySQL documentation dla RAND
:
Zwraca losową wartość zmiennoprzecinkową V w zakresie 0 = v < < 1.0.
więc w powyższym zapytaniu, największa wartość, które mogą być generowane przez 1 + RAND()*3
byłoby 3.999999
, który po podłogi dałoby 3. Najmniejsza wartość będzie występować, gdy RAND()
zwraca 0, w którym to przypadku dałoby 1.
Wykonaj
UPDATE tableName SET columnName = FLOOR(RAND() + RAND());
Używaj RAND() funkcję. Zwraca losową wartość zmiennoprzecinkową v z zakresu 0 <= v < 1.0
. Aby uzyskać losową liczbę całkowitą R z zakresu i <= R < j
, należy użyć wyrażenia FLOOR(i + RAND() * (j − i))
. Na przykład, aby uzyskać losową liczbę całkowitą w zakresie zakres 1<= R < 3
, użyj następującej klauzuli:
UPDATE tableName
SET ColumnName= FLOOR(1 + rand() * 3);
UWAGA:RAND() produkuje losowych wartości unosić się od 0 do 1.
[Co próbowałeś? ] (http://www.whathaveyoutried.com/) Patrz [pytaj porady] (http://stackoverflow.com/questions/ask-advice), proszę. –
http://stackoverflow.com/questions/6550155/mysql-get-a-random-value-merween-two-values – sgeddes
Nie próbowałeś 'UPDATE' i' RAND() '? – tadman