select *
  from (select id, rownum r from  INFO ORDER BY ID) t
 where t.r <= 16 and t.r >= 9;

解决方案 »

  1.   

    select * from (select id, rownum r from  INFO ORDER BY ID) t where t.r <= 16 and t.r >= 9;
      

  2.   

    谢谢两位兄台,但是开始我也是这样写的,但是里层的rownum r是表示的未排号序时的行数,这样就是先分页在排序了
      

  3.   

    我觉得是一样的
    如果你要原来的排序号
    那你就这样好了
    select *
      from (select id, rownum r from  INFO ) t
     where t.r <= 16 and t.r >= 9;去掉ORDER BY ID就是原来的排序号
    干吗要写这么麻烦呢?
      

  4.   

    排序后分页,楼主已经写出了典型的3层嵌套查询select id , rid from 
    (select id, rownum rid from (select id from info order by id) where rownum <=16 )
    where rid >= 9 ;
      

  5.   

    to xiaoxiao1984(笨猫一只^_^)只能写成三层嵌套吗???
    我不大想这样写,可是又没有其他方法。你有吗?