如何在Derby中的SQL中选择从X行到Y行?
例如:
我试过LIMIT和ROWNUM不起作用,我怎么能在德比中做到?
答案 0 :(得分:11)
根据 FAQ :
Derby不支持LIMIT语法。但是,Derby 10.4添加了ROW_NUMBER函数,Derby 10.7添加了OFFSET和FETCH子句。
Derby还支持通过JDBC限制查询返回的行数 < ...>
从10.4.1.3版本开始,Derby还支持使用ROW_NUMBER函数限制行数。
< ...>ROW_NUMBER函数也可用于选择以偏移量开头的有限行数,例如:
< ...>
SELECT * FROM (
SELECT ROW_NUMBER() OVER() AS rownum, myLargeTable.*
FROM myLargeTable
) AS tmp
WHERE rownum > 200000 AND rownum <= 200005;
如果您使用的是Derby 10.7或更高版本,您也可以使用 OFFSET and FETCH clauses :
SELECT * FROM T ORDER BY I
OFFSET 10 ROWS
FETCH NEXT 10 ROWS ONLY