ALTER PROCEDURE [dbo].[getMessages]
-- Add the parameters for the stored procedure here
@lastRow int,
@sort varchar(9)
AS
BEGIN
-- Insert statements for procedure here
DECLARE @StartRow INT,@EndRow INT
SELECT @StartRow = (@lastRow + 1), @EndRow = (@lastRow + 6)
;WITH cte AS (SELECT ROW_NUMBER() OVER (ORDER BY
CASE WHEN @sort = 'votes1' THEN m.votes END DESC,
CASE WHEN @sort = 'votes2' THEN m.votes END ASC
) AS rows,
m.message,
m.messageId,
TotalCount = COUNT(m.messageId) OVER ( PARTITION BY NULL)
FROM
tblMessages m
WHERE
m.deleted != 1
)
SELECT *
FROM cte WHERE ROWS BETWEEN @StartRow AND @EndRow
ORDER BY rows
END
Так что это мой процесс, который я использую для подкачки страниц, поэтому на переднем конце я могу перейти в последний ряд, который я видел, а затем, когда я нажимаю «загрузить больше», он начинается со следующего ряда и получает следующие 6. Ну, не хочу, чтобы ПРЕДЫДУЩАЯ 6 передавала идентификатор, поэтому, если вы видите 6, перейдите к следующим шести, а затем снова захотите увидеть предыдущие 6.
Как бы я изменил этот процесс для этого?