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