Mysql
 sql >> Baza danych >  >> RDS >> Mysql

Random() w MySQL?

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

Pobiera 1 losowy wiersz. Zastąp 1 przez N, aby uzyskać N losowych wierszy.

Zastrzeżenie:Jak zauważyli inni, może to być powolne, ponieważ wymaga pełnego skanowania tabeli. Robiłem to z DB2, gdzie działało to idealnie dla tabel z setkami tysięcy wierszy, ale zgodnie z linkiem w odpowiedź Tereško , MySQL wydaje się degradować znacznie szybciej.



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. wiele funkcji to jedna wielka funkcja w PHP?

  2. Zmień krok auto_increment pól inkrementacji o

  3. Wstawianie danych z CSV do bazy danych MySQL jest bardzo powolne

  4. Jak mogę korzystać z równoczesnego dostępu do tabeli mysql w PHP?

  5. Wyzwalacz MySQL ustawia wartości dla NOWEGO wiersza i aktualizuje inny w tej samej tabeli