【问题标题】:How to retrieve data from HSQL within a row range?如何从 HSQL 中检索行范围内的数据?
【发布时间】:2016-12-19 13:23:42
【问题描述】:

我曾与 oracle 合作,在哪里选择查询是特定行范围内的数据:

SELECT * from TABLE WHERE rownum>0 AND rownum<=10

HSQL 中对应的查询是什么?

【问题讨论】:

  • 你用的是哪个版本?
  • 看看this是否适合你
  • rownum &gt; 0 在 Oracle 中没有用,如果您打算使用例如rownum &gt; 5 然后是 Oracle 中的 won't work

标签: sql hsqldb


【解决方案1】:

HSQLDB 支持 LIMITOFFSET 关键字

select *
from some_table
limit 10
offset 2;

请注意,如果没有 order by 子句,limitoffset 将毫无意义(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 询问范围
猜你喜欢
  • 2020-04-29
  • 2018-01-03
  • 2015-11-19
  • 2021-01-16
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多