Sum + Pivot + SQL中的Where计算

时间:2019-02-06 22:25:57

标签: sql pivot where sumifs

我是SQL的新手,并尝试搜索可映射到我自己的帖子,但找不到一个帖子,因此,任何建议都将不胜感激!

我有一个看起来像这样的数据集(但约有2500万行):

ID	Date	Amount	Type
112233	12/1/2018	300	3
112233	12/1/2018	80	3
112233	12/1/2018	60	0
112233	12/1/2018	40	3
112233	12/1/2018	20	3
112233	12/1/2018	40	3
112233	12/1/2018	0	0
112233	12/2/2018	120	3
112233	12/2/2018	120	3
112233	12/2/2018	120	0
112233	12/2/2018	120	3
112233	12/3/2018	120	3
112233	12/3/2018	120	0
112233	12/3/2018	120	0
112233	12/3/2018	120	3
112233	12/3/2018	120	3
112233	12/3/2018	120	3
112233	12/3/2018	120	3
666600	12/1/2018	0	0
666600	12/1/2018	0	0
666600	12/1/2018	100	3
666600	12/1/2018	400	3
666600	12/1/2018	80	3
666600	12/1/2018	40	3
666600	12/1/2018	0	0
666600	12/2/2018	80	3
666600	12/2/2018	0	0
666600	12/2/2018	80	3
666600	12/2/2018	0	0
666600	12/2/2018	500	0
666600	12/2/2018	100	3
666600	12/3/2018	400	3
666600	12/3/2018	80	3
666600	12/3/2018	40	3
666600	12/3/2018	0	0
666600	12/3/2018	80	3
666600	12/4/2018	0	0
666600	12/4/2018	80	3

我需要它看起来像这样:

ID	Amount	Type
112233	420	0
112233	1,440	3
666600	500	0
666600	1,560	3

用excel术语,我想做的是:一个SUMIFS函数,通过“ ID”(在此示例中为112233和666600)和“类型”(0或3)对“金额”求和。

这在SQL中可行吗?谢谢!

1 个答案:

答案 0 :(得分:0)

您可以尝试以下解决方案:

SELECT ID, Sum(Amount) as 'Amount', Type
FROM tablename
GROUP BY ID, Type;