使用db2创建分页

时间:2015-12-05 03:23:34

标签: db2

我已经读过DB2不支持Limit和Offset。我还读到你必须使用ROW_NUMBER()和子查询来获得所需的结果。 如果这是一个SQL查询:

$sql = "SELECT * FROM ITEMS LIMIT $offset, $rowsperpage";

其中$ offset是偏移量,$ rowsperpage是我希望在页面上显示的数据库中的行数,这可能与DB2查询相当。

2 个答案:

答案 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)

latest technology refresh (7.1 TR11 and 7.2 TR3).

开始,DB2 for I也支持LIMIT和OFFSET