【发布时间】:2021-03-28 01:30:57
【问题描述】:
我有以下数据,我需要对 sum pivot 进行分组
| AA | BB | date |
|---|---|---|
| a | 1 | 01/01/2020 |
| a | 2 | 01/01/2020 |
| b | 5 | 01/01/2020 |
| b | 1 | 01/01/2020 |
| c | 5 | 01/01/2020 |
| d | 1 | 01/01/2020 |
| d | 8 | 02/01/2020 |
| e | 1 | 01/01/2020 |
我用我的 sql 代码得到的东西
| a | b | c | d | e | |
|---|---|---|---|---|---|
| 01/01/2020 | 3 | 6 | 5 | 1 | 1 |
| 02/01/2020 | / | / | / | 8 | / |
我需要得到:a 和 d 分组为 f 和 c 和 e 分组为 g 和 b 分开
| b | f | g | |
|---|---|---|---|
| 01/01/2020 | 6 | 4 | 6 |
| 02/01/2020 | / | 8 | / |
我有以下 sql,但我似乎无法进行分组求和。你是在旋转之前还是之后?
SELECT * FROM(
SELECT AA,Date
FROM [dbo].[Data] )
AS SourceTable
PIVOT(SUM([BB])
FOR [AA] IN([a],[b],[c],[d],[e]))
AS PivotTable
如果我尝试这个它不起作用
SELECT * FROM(
SELECT AA,Date
FROM [dbo].[Data] )
AS SourceTable
PIVOT(SUM([BB])
FOR [AA] IN([a]+[d],[b],[c]+[e]))
AS PivotTable
【问题讨论】:
标签: sql sql-server sum pivot aggregate-functions