Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / Microsoft SQL Server [игнор отключен] [закрыт для гостей] / Выдача записей по блокам / 5 сообщений из 5, страница 1 из 1
22.06.2001, 09:43
    #32008112
Lohmatun
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Выдача записей по блокам
Подскажите, плз.
Как получить набор записей (часть таблицы), начиная с N всего K штук. Предполагается, что при этом в таблице существует некое поле ID, которое можно рассматривать как поле сортировки (суррогатный ключ).

Спасибо
...
Рейтинг: 0 / 0
22.06.2001, 10:06
    #32008117
Genady
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Выдача записей по блокам
declare @Start int
select top N @Start = id from table1 order by id
select top K * from table1 where id >=@Start order by id
...
Рейтинг: 0 / 0
22.06.2001, 10:29
    #32008123
Lohmatun
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Выдача записей по блокам
у меня мысли росли в подобном направлении, но...
ID начинается не с единицы, а с некоего L, ID имеет пропуски (удаленные записи)
а хотелось все=же получать блоки именно по порядку: записи с первой по пятисотую, записи с пятьсот первой по тысячную и т.п.
(кстати, как сами эти интервалы получить?)
...
Рейтинг: 0 / 0
22.06.2001, 10:35
    #32008125
Genady
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Выдача записей по блокам
Вопрос по моему уже каждый день задают
Ладно не буду отсылать смотреть по веткам, вот например одно из решений:

Create Table #counter (NewId int identity(1,1), oldID int)
insert into #counter (OldID) select Id from YourTable
select * from YourTable yt, #counter c where yt.ID = c.OldID and (c.NewId between K and N)

Кстати, предидущее решение тоже будет работать правильно, посмотрите внимательно я не привязываюсь к ID, а только сортирую по нему записи.
...
Рейтинг: 0 / 0
22.06.2001, 14:23
    #32008173
Lohmatun
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Выдача записей по блокам
Извиняюсь - ето у меня в голове тормознуло.
Конечно и первый вариант подойдет - второй даже сложнее...
Спасибо.
...
Рейтинг: 0 / 0
Форумы / Microsoft SQL Server [игнор отключен] [закрыт для гостей] / Выдача записей по блокам / 5 сообщений из 5, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]