解决方案 »

  1.   

    把WHERE ROWNUM <= 10) WHERE RN >= 6
    中的=去掉
      

  2.   

    翻页语法:
    SELECT *
      FROM (SELECT in_table.*,
                   rownum row_num
              FROM (sqlstr) in_table
             WHERE rownum < icurrpage * ipagesiz + 1) b
     WHERE b.row_num > (icurrpage - 1) * ipagesize
    sqlstr为基本sql,可带order by
    icurrpage 为当前页
    ipagesize为每页多少行
      

  3.   

    有说9i中是按照rowid进行排序的,10g以后就不是了,没有用过9i,没有验证过
    参考网址:
    http://article.pchome.net/content-1707721.html
      

  4.   

    好像oracle对此解释是正常的,因为是两次查询。
    一般排序字段不唯一的时候,为了保证多次查询不出现重复记录,排序需要再加上能保证查询唯一的列如主键。
      

  5.   

    因为你所排序字段不唯一,可以在你的排序字段之后加上,rowid排序。
    order by ...,rowid