@AlekseiFlis

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

Как можно получить из базы данных значения случайно выбранной записи записи?
  • Вопрос задан
  • 284 просмотра
Решения вопроса 1
mad_maximus
@mad_maximus
Зависит от того, какие там у вас поля. Если нужно по айдишнику, то достаете кол-во айдишников (если это, конечно, не uuid), потом рандомно выбираете между 1 и максимальным числом id в базе. Как вариант.

upd: но будьте осторожны, не знаю, как в постгре, но в мускле при удалении записи под этим айдишником айдишник пропускается (1..3..4..5), так что если рандомайзер сгенерирует 2, вы не сможете достать по нему запись и словите ошибку. Лучше оборачивайте в try ... catch.
Ответ написан
Пригласить эксперта
Ответы на вопрос 2
petermzg
@petermzg
Самый лучший программист
Сгенерируйте случайное ID из диапазона имеющихся в базе ID и вытащите запись с данным ID
Ответ написан
Комментировать
@d-stream
Готовые решения - не подаю, но...
Иногда для имитации наполнения базы использую варианты типа

select top 1 * from .... order by newid() -- это MSSQL
для pg - order by random() или rand() видимо
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы