如何从 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 &gt; 0 在 Oracle 中没有用,如果您打算使用例如rownum &gt; 5 然后是 Oracle 中的 won't work 【参考方案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 询问范围

以上是关于如何从 HSQL 中检索行范围内的数据?的主要内容,如果未能解决你的问题,请参考以下文章

从表中检索特定 24 小时时间范围内的记录

从文件大小范围内的 SQL 表中选择行

如何在 laravel php 中使用 ajax 根据日期范围从 mysql 数据库中检索数据?

如何在 HSQLDB 中生成一个范围内的数字行列表?

如何根据模型中 2 个字段范围内的变量查询行

使用范围外范围内的数据