表有a, b, c三个字段,数据如下:A     B     C
---------------
A     A     1
A     B     2
B     A     3
B     A     4
C     A     1要求对a, b字段分组,对c求和,实现如下效果:序号   A    B    C
-------------------
1      A    A    1
1      A    B    2
2      B    A    7
3      C    A    1上面的序号(流水号)怎么实现,用一句sql?就是说A字段内容一样,序号也一样

解决方案 »

  1.   

    CREATE TABLE TABLE1(A VARCHAR2(10),B VARCHAR2(10),C VARCHAR2(10));
    INSERT INTO TABLE1 VALUES('A','A','1');
    INSERT INTO TABLE1 VALUES('A','B','2');
    INSERT INTO TABLE1 VALUES('B','A','3');
    INSERT INTO TABLE1 VALUES('B','A','4');
    INSERT INTO TABLE1 VALUES('C','A','1');
    COMMIT;SELECT RN,T1.A,T1.B,T1.C FROM
    (SELECT T1.A,T1.B,SUM(T1.C) C FROM TABLE1 T1 GROUP BY A,B)T1,
    (SELECT ROWNUM RN,A FROM(SELECT A FROM TABLE1 GROUP BY A)) T2 
    WHERE T1.A=T2.A;        RN A          B                   C
    ---------- ---------- ---------- ----------
             1 A          A                   1
             1 A          B                   2
             2 B          A                   7
             3 C          A                   1