我计划在Oracle中使用JDBC分页(基于查询的技术)不缓存结果。当我试图使用rownum之间的选项,它没有给我任何结果
select * from mytable where rownum between 10 and 20;
但这给了我结果。
select * from mytable where rownum <20;
请告诉我如何解决这个问题??
我刚刚回答了一个非常类似的问题,一种处理方法是这样做:
select *
from
( select rownum rnum, a.*
from (your_query) a
where rownum <= :M )
where rnum >= :N;
为rownum提供一个小包装。
我不认为这是明智的大容量实现。虽然我还没有测试过
关于为什么BETWEEN不能在ROWNUM和Oracle &
SELECT *
从( SELECT rownum AS rowCount ,ID,UNIT_NAME
FROM MWT_COMPANY_UNIT )
WHERE rowCount BETWEEN requiredRowNumMinYouWant ANDrequiredRowNumMaxYouWant