rownum 是伪列,不能直接通过 rownum >= m and rownum <=n 进行分页可以修改成类似格式分页
select * from (select *, rownum as rid from tab_name where rownum <= n) where rid >= m

解决方案 »

  1.   

    猫猫真是无处不在啊.呵呵
    rownum只能用符号(<、<=、!=)。 
                select * from tablename where rownum != 10;返回的是前9条记录。 
                不能用:>,>=,=,Between...and。由于rownum是一个总是从1开始的伪列,Oracle 认为这种条件 只能用
    select * from table_name where rownum < N
    minus
    select * from table_name where rownum < M
    就可以选中 M 与 N之间的。当然如果想用> >= 你可以用楼上说的嵌套查询在子查询中将rownum 重新命名.在外查询用> 或 >=