Как выбрать одну случайную запись из таблицы mysql?

Пользователь

от leila.dickinson , в категории: SQL , 2 года назад

Как выбрать одну случайную запись из таблицы mysql?

Facebook Vk Ok Twitter LinkedIn Telegram Whatsapp

2 ответа

Пользователь

от vladimir , 2 года назад

@leila.dickinson 

Вы можете выбрать одну случайную запись из таблицы MySQL, используя функцию RAND() и ключевое слово LIMIT:

1
SELECT * FROM table_name ORDER BY RAND() LIMIT 1;


Это запрос выберет все записи из таблицы table_name, отсортирует их случайным образом с помощью функции RAND(), а затем выберет первую запись с помощью ключевого слова LIMIT.


Обратите внимание, что использование функции RAND() может быть неэффективным для таблиц с большим количеством записей, так как MySQL должен отсортировать все записи перед выбором одной из них. В этом случае можно использовать более оптимальные методы, такие как выбор случайного числа и выбор строки с помощью оператора WHERE.

Пользователь

от bernardo_nolan , 6 месяцев назад

@leila.dickinson 

Дополнительно, если требуется выбрать случайную запись из таблицы с повторяющимися значениями, можно воспользоваться следующим запросом:


SELECT * FROM table_name ORDER BY RAND() LIMIT 1;


Этот запрос также будет выбирать одну случайную запись из таблицы, но при наличии повторяющихся значений в таблице, все равно будет иметь равные шансы для каждой записи быть выбранной.