使用 db2 创建分页
Creating a pagination with db2
我了解到 DB2 不支持 Limit 和 Offset。我还读到您必须使用 ROW_NUMBER() 和子查询来获得所需的结果。
如果这是一个 SQL 查询:
$sql = "SELECT * FROM ITEMS LIMIT $offset, $rowsperpage";
其中 $offset 是偏移量,$rowsperpage 是我想在页面上显示的数据库中的行数,这相当于 DB2 查询。
嗯,根据您使用的 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.
开始,DB2 for I 也支持 LIMIT 和 OFFSET
我了解到 DB2 不支持 Limit 和 Offset。我还读到您必须使用 ROW_NUMBER() 和子查询来获得所需的结果。 如果这是一个 SQL 查询:
$sql = "SELECT * FROM ITEMS LIMIT $offset, $rowsperpage";
其中 $offset 是偏移量,$rowsperpage 是我想在页面上显示的数据库中的行数,这相当于 DB2 查询。
嗯,根据您使用的 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.