通过聚合按类别透视数据

时间:2021-02-08 15:26:32

标签: sql pivot

我有以下结构:

Date,           Type,       Country,     Sales,     NumOfItems
2020-12-24,     Basic,      USA,         700,       5
2020-12-24,     Standard,   USA,         300,       3
2020-12-24,     Basic,      USA,         100,       1
2020-12-24,     Standard,   USA,         200,       6

如何透视这些数据以获得以下结构:

Date,        Country,  Sales,  NumOfItems,  SalesBasic,  NumOfItemsBasic,  SalesStandard,  NumOfItemsBasic
2020-12-24,  USA,      1300,   15,          800,         6                 500             9

并按日期和国家/地区分组?

预先感谢您的任何建议和最好的问候!

1 个答案:

答案 0 :(得分:2)

您可以对 CASE 语句进行聚合,例如:

SELECT Date, Country, SUM(Sales) AS Sales, SUM(NumOfItems),
       SUM(CASE WHEN Type = 'Basic' THEN Sales ELSE null END) AS SalesBasic,
       ...
 GROUP BY 
       Date, Country