Выборка записей из БД, отсортированных произвольным образом
Нужно сделать выборку всех записей из БД, отсортированных произвольным образом, т.е. при каждой повторной выборке порядок записей отличался
Ответы (2 шт):
Автор решения: Владимир Лемяшевич
→ Ссылка
Можно сделать запрос к БД, получить массив записей и воспользоваться функцией shuffle (Если вы используете php - https://www.php.net/manual/ru/function.shuffle.php) для того, чтобы перемешать записи. Обычным запросом sql здесь не обойдется
Автор решения: Ainar-G
→ Ссылка
Многие диалекты SQL поддерживают что-то типа такого:
SELECT *
FROM t_1
ORDER BY RANDOM()
;
Это работает в PostgreSQL и SQLite. В MySQL 8.0
нужно заменить RANDOM() на RAND(). Есть также
специфичные для конкретной СУБД техники оптимизации, но для большинства
ежедневных задач такая конструкция подойдёт.