sql - 通过聚合按类别透视数据
问题描述
我有以下结构:
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
并按日期和国家分组?
提前感谢您的任何建议和问候!
解决方案
您可以聚合 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
推荐阅读
- java - 如何在java中绘制或填充梯形?
- javascript - 动态创建的表上的弹出框问题
- javascript - 如何在Javascript中将列表转换为有序列表?
- c++ - 如何在 Visual Studio for C++ 中更改工作目录
- nuxt.js - 在 Nuxt.js 中实现 google API
- unity3d - 当我在 Unity 中构建时。我收到一个名为“错误 CS0246:找不到类型或命名空间名称‘WebSocketSharp’”的错误
- javascript - 从同一页面上的不同表单中提取输入项
- spring - Spring Cloud Gateway 设置多个虚拟主机
- javascript - 使用 cron 和 node.js 发送预定消息
- android - Android更改所选NumberPicker的TextColor