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;
我是 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;