假设你的code和number字段在我这里为a和b,可以用以下SQL语句
SQL> select * from a;         A          B
---------- ----------
         1          1
         1          2
         1          3
         2          1
         2          2
         2          3
         3          1
         3          2
         3          3
         4          110 rows selectedSQL> select a, b from (select sum(b) sum,a, b from a group by a,b) where sum < 3;         A          B
---------- ----------
         1          1
         1          2
         2          1
         2          2
         3          1
         3          2
         4          17 rows selectedSQL>

解决方案 »

  1.   

    需要这么复杂么?
    select * from TableName where number < 3
    msn:[email protected]
      

  2.   

    :)  呵呵...hewei2003说的也是啊. 但是如果表中的number 列不是那么规律的数字的话又怎么处理呢?
      

  3.   

    select code,number,row_number() over (partition by code ) as id  from 表名 where
    id<3;
      

  4.   

    sorry,应该是
    select * from (select code,number,row_number() over (partition by code ) as id  from 表名) where
    id<3;
      

  5.   

    select * from (select code,number,row_number() over (partition by code order by number) rm  from 表名) where rm<3;