如何从 HSQL 中检索行范围内的数据?
Posted
技术标签:
【中文标题】如何从 HSQL 中检索行范围内的数据?【英文标题】:How to retrieve data from HSQL within a row range? 【发布时间】:2016-12-19 13:23:42 【问题描述】:我曾与 oracle 合作,在哪里选择查询是特定行范围内的数据:
SELECT * from TABLE WHERE rownum>0 AND rownum<=10
HSQL 中对应的查询是什么?
【问题讨论】:
你用的是哪个版本? 看看this是否适合你rownum > 0
在 Oracle 中没有用,如果您打算使用例如rownum > 5
然后是 Oracle 中的 won't work
【参考方案1】:
HSQLDB 支持 LIMIT
和 OFFSET
关键字
select *
from some_table
limit 10
offset 2;
请注意,如果没有 order by
子句,limit
和 offset
将毫无意义(Oracle 也是如此)。
HSQLDB 还支持 ANSI SQL 标准 fetch first x rows
,但这需要使用 order by
select *
from some_table
order by some_column
offset 2 rows
fetch first 10 rows only;
Oracle 自 12.1 起也支持上述内容
详见手册http://hsqldb.org/doc/2.0/guide/dataaccess-chapt.html#dac_slicing
【讨论】:
OP 询问范围以上是关于如何从 HSQL 中检索行范围内的数据?的主要内容,如果未能解决你的问题,请参考以下文章