2012-02-27 114 views
2

我寫這從一個表中檢索前5個記錄這樣SQL Server查詢幫助需要

SELECT Top(5) Activity, GETUTCDATE() as CurrentDate 
    FROM Activities 
    WHERE UserID = @uid 
    ORDER BY ActivityDate DESC 

和查看我正在顯示前5名的記錄,我也有更多關於點擊一個鏈接查詢其中未來5個記錄應該顯示,再次點擊未來5個記錄等該鏈接顯示

我有關於如何寫這個查詢的困惑,即如何讓接下來的5條記錄,然後接下來的5等

+0

也許你可以添加row_count並根據row_count檢索數據... – 2012-02-27 10:03:57

+0

很確定GETUTCDATE只是一個MSSQL fn。 – 2012-02-27 12:23:26

回答

2

我使用RowNumber函數和一個CTE在你的例子中實現分頁這將是類似的東西。

With UserActivityData as (
SELECT *, 
    ROW_NUMBER() OVER(ORDER BY ActivityDate DESC) as RowNum, 
    ROW_NUMBER() OVER(ORDER BY ActivityDate ASC) as InverseRowNum 
    FROM Activities 
    WHERE UserID = @uid 
    ) 

SELECT * from UserActivityData where RowNum between @StartIndex and @StartIndex + 4