繁体   English   中英

使用SQL SERVER 2008的PHP分页

[英]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()类的窗口函数只能出现在SELECTORDER BY子句中。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM