HSQLDB / Oracle rownum的区别

时间:2014-03-04 10:07:21

标签: oracle hsqldb

以下查询不会像在Oracle上那样在HSQLDB(2.3.1,ORA语法支持设置为true)上得到相同的答案。

select max(ID) from (select ID from TRANSACTION where LOAD=2 and ID>=4 order by ID asc) where rownum <=2

应用于以下数据集

<dataset>
<TRANSACTION ID="2" LOAD="1" />
<TRANSACTION ID="3" LOAD="1" />
<TRANSACTION ID="4" LOAD="2" />
<TRANSACTION ID="5" LOAD="2" />
<TRANSACTION ID="6" LOAD="2" />
<TRANSACTION ID="7" LOAD="2" />
<TRANSACTION ID="8" LOAD="2" />
<TRANSACTION ID="10" LOAD="2" />
<TRANSACTION ID="11" LOAD="2" />
<TRANSACTION ID="12" LOAD="2" />
<TRANSACTION ID="13" LOAD="2" />
<TRANSACTION ID="14" LOAD="2" />
<TRANSACTION ID="15" LOAD="2" />
</dataset>

Oracle返回5,但HSQLDB报告15

1 个答案:

答案 0 :(得分:0)

是的,这里有一个区别,可能会在HSQLDB的未来版本中更改。