在DB2中,可以使用以下两种方法进行分页查询:
使用ROW_NUMBER()函数:
SELECT *
FROM (
SELECT *,
ROW_NUMBER() OVER(ORDER BY column_name) AS rownumber
FROM table_name
) AS t
WHERE t.rownumber BETWEEN start_row AND end_row
在上述查询中,ROW_NUMBER()函数会为每一行赋予一个唯一的行号,根据指定的排序列进行排序。然后,包装查询结果的外部查询会过滤出指定范围内的行。
使用FETCH FIRST和OFFSET子句(适用于DB2 9.7或更高版本):
SELECT *
FROM table_name
ORDER BY column_name
FETCH FIRST number_of_rows ROWS ONLY
OFFSET start_row ROWS
在上述查询中,FETCH FIRST子句指定要返回的行数,OFFSET子句指定要跳过的行数。通过调整start_row和number_of_rows的值,可以实现分页查询的目的。
需要注意的是,在实际查询中,应根据具体的表名、列名、排序列和分页范围进行调整。