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

Откуда:
Сообщений: 172
Доброго вечера форумчане!

Есть такая задачка.
На страницу интернет магазина влазит только около 20 акционных товаров (не обязательно точно, можно немного меньше или больше), а в БД, товаров попадающих под необходимое условие - 150 (не постоянно).
Было решено, чтобы охватить весь ценовой диапазон, поступить так:
Получаем количество товаров попадающих под условия отбора (в нашем случае около 150 шт), сортируем по цене, делим на количество которое может вместить страница (в нашем случае 20), берем целую часть (7), и делаем выборку из таблицы каждой 7 записи.

Не нашел красивого способа сделать выборку каждой энной записи.
Только курсор?

Может подскажет кто?
16 авг 13, 23:44    [14721160]     Ответить | Цитировать Сообщить модератору
 Re: Периодическая выборка строк из таблицы.  [new]
Добрый Э - Эх
Guest
посмотри в сторону ROW_NUMBER(). Уж им-то перенумеровать выборку и "моднуть" результат нумерации - плёвое дело
17 авг 13, 00:07    [14721225]     Ответить | Цитировать Сообщить модератору
 Re: Периодическая выборка строк из таблицы.  [new]
qwerty112
Guest
dimon71,

по сабжу - так
select top 1 with ties
...
order by row_number()over(order by (select 1))%7


но сам подход, имхо, - не очень,
ведь так будут в выборку всегда попадать одни и те же товары .... может всё-таки нужны 20-ть случайных записей ?
17 авг 13, 00:13    [14721236]     Ответить | Цитировать Сообщить модератору
 Re: Периодическая выборка строк из таблицы.  [new]
qwerty112
Guest
dimon71
чтобы охватить весь ценовой диапазон

order by row_number()over(order by цена)%7
17 авг 13, 00:21    [14721253]     Ответить | Цитировать Сообщить модератору
 Re: Периодическая выборка строк из таблицы.  [new]
dimon71
Member

Откуда:
Сообщений: 172
qwerty112,

Спасибо большое за подсказку. Так и поступим. Все верно.
17 авг 13, 00:30    [14721275]     Ответить | Цитировать Сообщить модератору
 Re: Периодическая выборка строк из таблицы.  [new]
vi0
Member

Откуда:
Сообщений: 296
dimon71,
в sql 2012 реализована постраничная выборка
18 окт 13, 08:29    [14995266]     Ответить | Цитировать Сообщить модератору
Все форумы / Microsoft SQL Server Ответить