我打算在Oracle中使用JDBC分页(基于查询的技术)不缓存结果。 当我试图在Option之间使用rownum时,它没有给我任何结果
从mytable中选择*,其中rownum在10到20之间;
但这给了我结果。
从mytable中选择*,其中rownum< 20;
请给我打电话如何解决?
答案 0 :(得分:4)
我刚刚回答了一个非常类似的问题,接近它的一种方法就是这样做:
select *
from
( select rownum rnum, a.*
from (your_query) a
where rownum <= :M )
where rnum >= :N;
为rownum提供一个小包装。
我不认为这对于大批量实现是明智的。虽然我没有测试过它。
答案 1 :(得分:1)
请参阅this question,了解BETWEEN无法与ROWNUM和Oracle & Pagination一起使用的原因,以及this one有关如何在Oracle查询中执行分页的说明。
答案 2 :(得分:0)
选择*
来自(
SELECT rownum AS r,ID,UNIT_NAME
FROM MWT_COMPANY_UNIT)
在10和20之间