要正常地对select查询进行分页,我会这样做:
SELECT * FROM items WHERE condition = 1 LIMIT $start, $items但是,在MSSQL中没有限制条件,所以我尝试使用:
SELECT * FROM items WHERE condition = 1 OFFSET $start ROWS FETCH NEXT $items ROWS ONLY然后我得到了错误:
42000 - FETCH语句中选项NEXT的SQL用法。
那么我到底应该做什么来对结果进行分页呢?
发布于 2018-01-11 10:24:25
这可能会对你有帮助。OFFSET-FETCH子句为您提供了一个选项,用于从结果集中仅获取一个窗口或一页结果。OFFSET-FETCH只能与ORDER BY子句一起使用。
SELECT P_Name FROM ITEMS ORDER BY P_Name OFFSET 10 ROWS;发布于 2018-01-11 10:22:18
等同于MySQL的LIMIT子句的MS SQL是TOP。
SELECT TOP 10 * FROM items WHERE condition = 1; 将返回前十行,与这里使用LIMIT的方式相同:
SELECT * FROM items WHERE condition = 1 stuff LIMIT 10; 有关更多细节(因为我不知道您代码的所有上下文),您可以查看here。
https://stackoverflow.com/questions/48198865
复制相似问题