@AlekseiFlis

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

Как можно получить из базы данных значения случайно выбранной записи записи?
  • Вопрос задан
  • 115 просмотров
Пригласить эксперта
Ответы на вопрос 4
petermzg
@petermzg
Самый лучший программист
Сгенерируйте случайное ID из диапазона имеющихся в базе ID и вытащите запись с данным ID
Ответ написан
mad_maximus
@mad_maximus
Зависит от того, какие там у вас поля. Если нужно по айдишнику, то достаете кол-во айдишников (если это, конечно, не uuid), потом рандомно выбираете между 1 и максимальным числом id в базе. Как вариант.

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

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

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

Войти через центр авторизации
Похожие вопросы
Home Credit Bank Москва
от 150 000 руб.
ZClick Москва
от 50 000 до 200 000 руб.
от 120 000 до 180 000 руб.
21 июл. 2019, в 16:20
10000 руб./за проект
21 июл. 2019, в 15:45
1500 руб./за проект
21 июл. 2019, в 14:16
5000 руб./за проект