我已经读过DB2不支持Limit和Offset。我还读到你必须使用ROW_NUMBER()和子查询来获得所需的结果。 如果这是一个SQL查询:
$sql = "SELECT * FROM ITEMS LIMIT $offset, $rowsperpage";
其中$ offset是偏移量,$ rowsperpage是我希望在页面上显示的数据库中的行数,这可能与DB2查询相当。
答案 0 :(得分:1)
那么,根据您使用的DB2平台,您没有阅读完整的故事。 DB2 LUW has support for LIMIT and OFFSET, but you have to turn it on(在设置标志后不要忘记重启DB2)。如果要根据需要使用DB2和ROW_NUMBER(),可以按如下方式编写查询:
SELECT *
FROM (SELECT ROW_NUMBER() OVER() AS rn,
items.*
FROM items)
WHERE rn BETWEEN computelowerboundaryhere AND computeupperboundaryhere;
还有overview article describing the different ways of doing the LIMIT/OFFSET work in DB2。
答案 1 :(得分:0)