Mysql
 sql >> база данни >  >> RDS >> Mysql

Random() в MySql?

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

Това извлича 1 произволен ред. Заменете 1 с N, за да получите N произволни реда.

Предупреждение:Както други посочиха, това може да бъде бавно, тъй като се нуждае от пълно сканиране на таблицата. Преди правех това с DB2, където това работеше перфектно за таблици със стотици хиляди редове, но според връзката в отговорът на Терешко , MySQL изглежда се разгражда много по-бързо.



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Как да изхвърлям структурата на таблицата на mysql без данни със SQL заявка?

  2. PHP/MYSQL Javascript - Вмъкване на стойност на ред, изтеглена от база данни в текстово поле с бутон

  3. Как да отворя DB връзка в Openshift?

  4. Сигналът за запис на Django пост се извиква два пъти въпреки uid

  5. mysqli_stmt::bind_param() - посочете друг тип данни освен s за всеки параметър