Sum + Pivot + Where 计算 SQL

Sum + Pivot + Where calculation in SQL

我是 SQL 的新手,并尝试搜索可映射到我自己的 post,但找不到,所以非常感谢任何建议!

我有一个看起来像这样的数据集(但大约有 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)和 [=37= 对 'Amount' 求和](0 或 3)。

这在 SQL 中可行吗?谢谢!

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

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