В этой заметке мы расскажем, как средствами СУБД Microsoft SQL Server получить записи из БД в рандомном порядке. Приведем код SQL запроса и пример его выполнения.
Для того, чтобы осуществить выборку записей из базы данных, отсортированных в случайном порядке в СУБД Microsoft SQL Server имеется специальная функция: NEWID().
NEWID() работает следующим образом — она присваивает строкам в таблице БД уникальные идентификаторы, полученные с помощью генератора случайных чисел.
Чтобы получить все записи из таблицы, отсортированные в случайном порядке, необходимо использовать следующий запрос:
1 |
SELECT * FROM ИМЯ_ТАБЛИЦЫ ORDER BY NEWID() |
То есть, программно «внутри» СУБД (без изменения исходных данных) каждой строке будет поставлен в соответствие рандомный уникальный идентификатор, а затем по этому идентификатору будет выполнена сортировка (команда ORDER BY), и мы получим строки данных в случайном порядке.
Ниже приводится пример еще одного запроса, но уже на реальной таблице с данными; цель та же — получить записи из БД в рандомном порядке. В данном случае будут получены десять записей таблицы в случайном порядке.
1 |
SELECT TOP 10 * FROM "Group" ORDER BY NEWID() |
Поделиться в соц. сетях: