select * from (select rownum id,tbname.* from tbname where rownum<41)
where rownum>30;

解决方案 »

  1.   

    select * from tbname where rownum <=40
    minus
    select * from tbname where rownum <=31
      

  2.   

    select * from (select rownum rm,table.* from table) where rm between 31 and 40;
      

  3.   

    to  bzszp(SongZip) :select * from (select rownum id,tbname.* from tbname where rownum<41)
    where rownum>30;的语句是错误的,应该改成:select * from (select rownum id,tbname.* from tbname where rownum<41)
    where id>30;
      

  4.   

    to nicholaz(九思·逢尤):使用minus来检索,如果数据比较少,效率影响不是很大,但如果数据很大,就会严重影响查询效率了
      

  5.   

    select * from (select rownum rm,a.* from table_name a) where rm between 31 and 40
      

  6.   

    select field1,field2
    from (select rownum rm,field1,field2 from table_name) a 
    where a.rm >=31
      and a.rm <=40
      

  7.   

    select * from (select rownum id,tbname.* from tbname where rownum<41)
    where id>30;