繁体   English   中英

在DB2中获取行

[英]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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM