SUM OVER PARTITION和GROUP BY一次通过?

时间:2015-11-11 21:40:54

标签: sql sum

我的问题与此类似,但答案不是我想要的:

Cannot use group by and over(partition by) in the same query?

我的表是这样的:

CODE_1  CODE_2  AMOUNT
A       A.1     2
A               4
A               6
B               1
B       B.1     3
B       B.1     5

我希望得到Code_1和[Code_1,Code_2]的总数,如下所示:

CODE_1  CODE_2  Total_1 Total_2
A       A1      12      2
B       B1      9       8

我可以在一个SELECT中获得结果吗?谢谢!

1 个答案:

答案 0 :(得分:3)

这是你正在寻找的吗?很难知道您打算如何处理CODE_2数据:

select
    code_1, 
    max(CODE_2) as CODE_2,
    sum(AMOUNT) as Total_1,
    sum(case when CODE_2 is not null then AMOUNT end) as Total_2
from T
    group by CODE_1