我知道在 DB2(使用 9.7 版)中,我可以使用以下查询选择表的前 10 行:
SELECT *
FROM myTable
ORDER BY id
FETCH FIRST 10 ROWS ONLY
但是,例如,我如何获得第 11 到 20 行?
我无法使用主键或 ID 来帮助我...
提前致谢!
最佳答案
这是一个示例查询,它将从包含州名、缩写等的表中获取行。
SELECT *
FROM (
SELECT stabr, stname, ROW_NUMBER() OVER(ORDER BY stname) AS rownumber
FROM states
WHERE stcnab = 'US'
) AS xxx
WHERE rownumber BETWEEN 11 AND 20 ORDER BY stname
Edit:
ORDER BY
is necessary to guarantee that the row numbering is consistent between executions of the query.
关于db2 - 在 DB2 中获取行,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17861902/