2014-12-04 115 views
1

我仍然試圖用PHP創建分頁,但SQL SERVER(2008)不支持偏移和限制。下面你可以看到SQL查詢,但我不知道什麼是錯的:PHP分頁使用SQL SERVER 2008

declare @offset int 
declare @limit int 
set @offset = 2; 
set @limit = 20; 

SELECT *, ROW_NUMBER() OVER (ORDER BY use_by_date desc) AS RowNum FROM DB 
WHERE RowNum >= @Offset 
AND RowNum < @Offset + @Limit 

回答

1

只是窩內另一個查詢:像ROW_NUMBER()

SELECT t.* 
FROM (
    SELECT *, ROW_NUMBER() OVER (ORDER BY use_by_date desc) AS RowNum 
    FROM DB) t 
WHERE t.RowNum >= @Offset AND t.RowNum < @Offset + @Limit 

窗函數只能出現在SELECTORDER BY條款。