2014-12-04 117 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条款。