Выборка записей из БД, отсортированных произвольным образом

Нужно сделать выборку всех записей из БД, отсортированных произвольным образом, т.е. при каждой повторной выборке порядок записей отличался


Ответы (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(). Есть также специфичные для конкретной СУБД техники оптимизации, но для большинства ежедневных задач такая конструкция подойдёт.

→ Ссылка