在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的值,可以實現分頁查詢的目的。
需要注意的是,在實際查詢中,應根據具體的表名、列名、排序列和分頁范圍進行調整。