Добро пожаловать в форум, Guest  >>   Войти | Регистрация | Поиск | Правила | В избранное | Подписаться
Все форумы / Microsoft SQL Server Новый топик    Ответить
 Случайная выборка записей из таблицы  [new]
Tyke
Member

Откуда: Киев
Сообщений: 94
У меня есть такая задачка: Есть таблица с опизанием товаров. Кол-во записей - N. Если N != 1 мне необходимо выбирать случайным образом какую-то одну запись и демонстрировать ее на сайте. Главное что-бы в следующий раз выбиралась уже другая запись (с достаточно высокой степенью вероятности).

Может уже кто-то такое делал, поделитесь опытом, хотелось бы это в sp реализовать.

Всем спасибо.
24 фев 03, 12:49    [134365]     Ответить | Цитировать Сообщить модератору
 Re: Случайная выборка записей из таблицы  [new]
Артем
Member

Откуда: Москва
Сообщений: 335
Это типичная выборка с N по M. Крайний случай где M = N.

Для того что бы получить случайное число можно воспользоваться RAND()
а для введения дополнительных факторов воспользоваться приращениями по времини т.е. типа DatePart(ms.....)

успехов...)))
24 фев 03, 13:27    [134375]     Ответить | Цитировать Сообщить модератору
 Re: Случайная выборка записей из таблицы  [new]
segun
Member

Откуда: Москва
Сообщений: 504
-- вывести @myrowcount записей
set rowcount @myrowcount

-- сам запрос
select * from mytable order by newid()

-- возврат состояния
set rowcount 0
24 фев 03, 13:34    [134381]     Ответить | Цитировать Сообщить модератору
 Re: Случайная выборка записей из таблицы  [new]
Tyke
Member

Откуда: Киев
Сообщений: 94
Спасибо, работает просто супер.

Правда, я (честно признаюсь) не вьехал в order by newid(). Никогда раньше не newid() не использовал (BOL уже почитал :).

Прокоментируйте, если не лень.
24 фев 03, 13:48    [134384]     Ответить | Цитировать Сообщить модератору
 Re: Случайная выборка записей из таблицы  [new]
Glory
Member

Откуда:
Сообщений: 104760
Читали ?
24 фев 03, 17:13    [134452]     Ответить | Цитировать Сообщить модератору
 Re: Случайная выборка записей из таблицы  [new]
Tyke
Member

Откуда: Киев
Сообщений: 94
Да, почитал. Спасибо.
24 фев 03, 18:20    [134469]     Ответить | Цитировать Сообщить модератору
Все форумы / Microsoft SQL Server Ответить