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
所以这是我PROC,我使用分页等前端我的最后一排,我看到的传球,然后当我点击“加载更多”,它从开始下一行,并获得下一个6.那么,不是我想要先前的6,传入一个id,所以如果你看到6,转到下一个6,然后想再次看到前6。寻呼在T-SQL
我该如何修改此proc来做到这一点?
为什么选择近距离投票? – slandau
是不是我,但我一直在注意到有人一直在投票关闭与SQL相关的问题。值得庆幸的是它需要5票,但我已经开始对这些行为进行调查(今天第二次)。 –
也许他们更喜欢用xml来做事......;) – NotMe