我是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中可行吗?谢谢!
答案 0 :(得分:0)
您可以尝试以下解决方案:
SELECT ID, Sum(Amount) as 'Amount', Type
FROM tablename
GROUP BY ID, Type;