使用oracle Rownum与between关键字



我计划在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

最新更新