Я хочу, чтобы хранимая процедура принимала x количество строк данных за y номер страницы.
Например
у меня 20 датаров
размер моей страницы 2
если я выберу страницу 2
я получу строку данных 17,18
Я могу использовать топ 200 и использовать order by для выбора первого и последнего датаров, но как мне получить страницы между ними.
@PageNumber INT
As
BEGIN
SELECT COUNT(rate.RateID)/200 FROM dbo.Rate where dbo.Rate.Hourly =0
DECLARE @LastIndex INT
SET @LastIndex= (SELECT TOP 1 rate.RateID FROM dbo.Rate where dbo.Rate.Hourly =0 ORDER BY rate.RateID ASC)
Select TOP 200
[RateID],
[PairID],
[Open],
[Close],
[High],
[Low],
[Difference],
[Average],
[Percentage],
[InfoDate],
[Hourly],
[CaptureDateTime]
From Rate
WHERE Hourly =0 AND RateID >=(@LastIndex+(200* @PageNumber))
ORDER BY [RateID] ASC
Конец
это то, что у меня сейчас, но оно не работает должным образом