sql >> Database teknologi >  >> RDS >> Mysql

Random() i MySql?

SELECT *
FROM X
WHERE flags = 0
ORDER BY rand()
LIMIT 1

Dette henter 1 tilfældig række. Erstat 1 med N for at få N tilfældige rækker.

Advarsel:Som andre påpegede, kan dette være langsomt, da det kræver en fuld bordscanning. Jeg plejede at gøre dette med DB2, hvor dette fungerede perfekt til tabeller med hundredtusindvis af rækker, men ifølge linket i tereškos svar , MySQL ser ud til at nedbrydes meget hurtigere.



  1. Find databaseforbindelseslækager i din applikation

  2. Tæller antallet af grupperede rækker i mysql

  3. MySQL:Vælg alle datoer i et interval, selvom der ikke er nogen registreringer til stede

  4. aws - ec2 - mysql - forekomst stop, genstart - andre brugeres adgangskoder ændret