【问题标题】:Using oracle Rownum with between keyword将 oracle Rownum 与 between 关键字一起使用
【发布时间】:2011-09-06 09:34:29
【问题描述】:

我计划将 JDBC 分页与 Oracle 一起使用(基于查询的技术)不缓存结果。 当我尝试在 Option 之间使用 rownum 时,它没有给我任何结果

select * from mytable where rownum 介于 10 和 20 之间;

但这给了我结果。

select * from mytable where rownum 请告诉我如何解决这个问题??

【问题讨论】:

    标签: oracle


    【解决方案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

        【讨论】:

          猜你喜欢
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 2015-08-24
          • 2011-07-21
          • 1970-01-01
          相关资源
          最近更新 更多