sql >> Database >  >> RDS >> Mysql

Willekeurig() in MySql?

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

Hiermee wordt 1 willekeurige rij opgehaald. Vervang 1 door N om N willekeurige rijen te krijgen.

Waarschuwing:zoals anderen al opmerkten, kan dit traag zijn omdat er een volledige tafelscan nodig is. Ik deed dit vroeger met DB2, waar dit perfect werkte voor tabellen met honderdduizenden rijen, maar volgens de link in tereško's antwoord , MySQL lijkt veel sneller te degraderen.



  1. MySQL-zelfstudie:MySQL IN-clausule (Basic)

  2. Oplossen:Geen geschikt stuurprogramma gevonden voor jdbc:mysql://localhost/dbname-fout bij gebruik van pools?

  3. De Percona Audit Log-plug-in gebruiken voor databasebeveiliging

  4. Howto:een mysql InnoDB-opslagengine reinigen?