就是我想得到一个表的前10项记录或者中间的第20到第30项记录类似这样的语句怎么写呢?

解决方案 »

  1.   

    Oracle里面
    rownum
    SQLServer里面
    top
      

  2.   


    SQL> select * from (select rownum rn,t.zgbh from dbzg t) where rn>10 and rn<=20;       RN ZGBH
    --------- --------------------
           11 0016
           12 0018
           13 0019
           14 0020
           15 0021
           16 0023
           17 0024
           18 0025
           19 0026
           20 0027已选择10行。再给lz一个介绍rownum的文章http://kingsui.javaeye.com/blog/149501
      

  3.   

    select * 
      from (select id,row_number() over(order by id) rn 
              from table) t 
     where t.rn>=10 and t.rn<=20
      

  4.   

    select * from emp where rownum >=10 and rownum <= 20;
    或者你要是想按哪一个字段排序的话就写:select * from (select * from emp order by a) where rownum >=10 and rownum <= 20;
      

  5.   

    取一个表的前10条:
    SELECT * FROM TABLE_NAME WHERE ROWNUM<=10;
    取一个表的20-30条:
    SELECT * FROM TABLE_NAME WHERE ROWNUM BEWTEEN 20 AND 30;
      

  6.   

    取一个表的前10条: 
    select * from table where rownum<11;
    取一个表的20-30条: 
    select * from (select t.* ,rownum r from table t where rownum<31) where r between 20 and 30;
      

  7.   


    select * from tb
    where rownum between 11 and 19