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

解决方案 »

  1.   

    select rownum ,t.* from
    (select a,b,sum(c) c from t2 group by a,b) t
      

  2.   

    我试了,不是我想要的结果:
    1 a a 1
    2 a b 2
    3 b a 7
      

  3.   

    SELECT row_number() OVER(PARTITION BY A ORDER BY A) XL,T.* FROM (
    SELECT A,B,SUM(C) C FROM (
    SELECT 'A' A,'A' B,1 C FROM DUAL
    UNION
    SELECT 'A' A,'B' B,2 C FROM DUAL
    UNION
    SELECT 'B' A,'A' B,3 C FROM DUAL
    UNION
    SELECT 'B' A,'A' B,4 C FROM DUAL) 
    GROUP BY A,B
    )T
      

  4.   

    select rank() over (partition by t.a order by t.b),a,b,sum(c) c 
    from t2 group by a,b