select * from (select * from test order by session asc) where 1<rownum<5 ;

解决方案 »

  1.   

    select *  from (
    select *,rownum num from (select * from test order by session asc) t) a
    where num between 2 and 4
      

  2.   

    对了,我的是oracle 8i,上面两位的我试了一下,不行。
      

  3.   

    select * from(select a.* rownum rn from (select * from test order by session asc) a where rownum<=4) where rn>=2;
      

  4.   

    select * from(select a.*,rownum rn from (select * from test order by session) a where rownum<=4) where rn>=2;
      

  5.   

    谢谢,平平淡淡,可以了,你少了个字母。
    select *  from (
    select t.*,rownum num from (select * from test order by session asc) t) a
    where num between 2 and 4少了t.
      

  6.   

    select *  from (
    select ID,    name   ,  session,rownum num 
    from (select * from test order by session asc) ) t
    where num between 2 and 4
      

  7.   

    介绍如何利用rownum
    http://www.chinaunix.net/jh/19/261521.html