sql >> Databáze >  >> RDS >> Mysql

Random() v MySql?

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

Tím se načte 1 náhodný řádek. Nahrazením 1 za N získáte N náhodných řádků.

Upozornění:Jak jiní zdůraznili, může to být pomalé, protože vyžaduje úplné skenování tabulky. Dělal jsem to s DB2, kde to fungovalo perfektně pro tabulky se stovkami tisíc řádků, ale podle odkazu v tereškova odpověď Zdá se, že MySQL degraduje mnohem rychleji.



  1. SQL – Jak ukládat a procházet hierarchie?

  2. je MySql dobrý pro velké databáze?

  3. php náhodná data mysql

  4. Příklad funkce Oracle k získání počtu dní mezi dvěma daty