代码之家  ›  专栏  ›  技术社区  ›  Alex Beardsley

笛卡尔积分页

  •  0
  • Alex Beardsley  · 技术社区  · 16 年前

    如果需要更多信息来回答这个问题,请添加评论。

    我们遇到的麻烦是 distinct

    如果需要的话,我们可以直接使用SQL,但是重构表之类的方法是不可行的。

    不管怎样,我无法想象我们是第一个遇到这种情况的人,所以我想知道是否有办法做到这一点。

    编辑:

    1 回复  |  直到 16 年前
        1
  •  2
  •   Tony Andrews    16 年前

    您需要将DISTINCT进一步推入查询中,以便它已经完成 之前 应用分页。例如:

    select deptno from
      ( select deptno, rownum as rn from
          ( select DISTINCT deptno
            from   emp
            order by deptno
          )
        where rownum < :pagenum*100
      )
    where rn > (:pagenum-1)*100;