[英]Fetching rows in DB2
我在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
编辑:
ORDER BY
是必要的,以保证行编号在查询的执行之间保持一致。
您还可以使用MYSQL兼容性。 您只需激活MYS的矢量兼容性,然后在查询中使用限制和偏移。
db2set DB2_COMPATIBILITY_VECTOR=MYS
db2stop
db2start
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.