[英]PHP pagination using SQL SERVER 2008
我仍然尝试使用PHP创建分页,但是SQL SERVER(2008)不支持偏移量和限制。 在下面您可以看到SQL查询,但我不知道这是什么错误:
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
只需将查询嵌套在另一个查询中:
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
诸如ROW_NUMBER()
类的窗口函数只能出现在SELECT
或ORDER BY
子句中。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.