Как извлечь N случайных записей из SQL таблицы?
Часто возникает необходимость извлечь несколько случайных записей из SQL таблицы. Например, отобразить 10 случайных рецептов, или 5 случайных новостей.
Можно измудряться на PHP, придумывая способ формирования условия WHERE для случайных строк. А можно сделать одной строкой:
-
SELECT * FROM TABLE ORDER BY RAND() LIMIT 10
- * – перечень полей для извлечения
- table – таблица
- 10 – кол-во случайных записей
Всего-то делов.
Добавить в закладки: (в том числе и в Twitter)
Читайте также:

Если размер TABLE велик, или выборка идет не из одной таблицы, а из нескольких, да еще и со сложными условиями, то данный вариант может надолго загрузить движок БД. И это хорошо, если пользователь никуда не спешит, а что делать, если задача требует почти моментального отклика?
Действительно, что делать, если требуется почти моментальный отклик? Может вы нам подскажете?
Средствами php вызывать цикл, запрашивая записи со случайным ID.