我计划将JDBC分页与Oracle(基于查询的技术)一起使用,不缓存结果。
当我尝试在选项之间使用rownum时,它没有给我任何结果
从mytable中选择*,其中rownum在10到20之间;
但这给了我结果。
从mytable中选择*,其中rownum <20;
请给我打电话如何解决这个问题?
我刚刚回答了一个非常类似的问题,一种解决方法是:
select *
from
( select rownum rnum, a.*
from (your_query) a
where rownum <= :M )
where rnum >= :N;
为rownum提供一些包装。
但是,我认为这对于大批量实现是不明智的。 虽然我还没有测试过。
有关为什么BETWEEN不能与ROWNUM和Oracle&Pagination一起使用的解释,请参阅此问题,以及有关如何在Oracle查询中执行分页的解释。
选择 *
来自(
SELECT rownum AS rowCount ,ID,UNIT_NAME
FROM MWT_COMPANY_UNIT )
rowCount在requiredRowNumMinYouWant和之间
requiredRowNumMaxYouWant