简体   繁体   English

使用SQL SERVER 2008的PHP分页

[英]PHP pagination using SQL SERVER 2008

I still trying to create pagination with PHP but SQL SERVER (2008) not support offset and limit. 我仍然尝试使用PHP创建分页,但是SQL SERVER(2008)不支持偏移量和限制。 Below you can see SQL query but I don't know what is wrong: 在下面您可以看到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

Just nest your query inside another one: 只需将查询嵌套在另一个查询中:

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

Windowed functions like ROW_NUMBER() can only appear in the SELECT or ORDER BY clauses. 诸如ROW_NUMBER()类的窗口函数只能出现在SELECTORDER BY子句中。

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

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