将 oracle Rownum 与 between 关键字一起使用
Posted
技术标签:
【中文标题】将 oracle Rownum 与 between 关键字一起使用【英文标题】:Using oracle Rownum with between keyword 【发布时间】:2011-09-06 09:34:29 【问题描述】:我计划将 JDBC 分页与 Oracle 一起使用(基于查询的技术)不缓存结果。 当我尝试在 Option 之间使用 rownum 时,它没有给我任何结果
select * from mytable where rownum 介于 10 和 20 之间;
但这给了我结果。
select * from mytable where rownum 请告诉我如何解决这个问题??
【问题讨论】:
【参考方案1】:我刚刚回答了一个非常相似的问题,接近它的一种方法是这样做:
select *
from
( select rownum rnum, a.*
from (your_query) a
where rownum <= :M )
where rnum >= :N;
为rownum 提供一个小包装器。
但是,我认为这对于大批量实施并不明智。虽然我没有测试过。
【讨论】:
【参考方案2】:请参阅 this question 了解为什么 BETWEEN 不能与 ROWNUM 和 Oracle & Pagination 一起使用,以及 this one 了解如何在 Oracle 查询中执行分页。
【讨论】:
【参考方案3】:选择 *
来自(
SELECT rownum AS rowCount ,ID,UNIT_NAME
FROM MWT_COMPANY_UNIT )
WHERE rowCount BETWEEN requiredRowNumMinYouWant AND requiredRowNumMaxYouWant
【讨论】:
以上是关于将 oracle Rownum 与 between 关键字一起使用的主要内容,如果未能解决你的问题,请参考以下文章