首页 > 解决方案 > 如何在 SQL 中对表进行求和和透视?

问题描述

我有下表:

可乐 col_b col_c
1 0 1
0 1 0

我想总结每一列并根据输出为其分配一个值,输出如下所示:

柱子 细绳
可乐 1 '字符串一'
col_b 1 '字符串二'
col_b 1 '字符串三'

我尝试了以下 SQL:

SELECT
SUM(col_a) AS sum_a,
SUM(col_b) AS sum_b,
SUM(col_c) AS sum_c
FROM table

这给了我三个栏目,但我一直无法弄清楚其余的栏目。

非常感激!

标签: sqlsql-server

解决方案


你真的想取消旋转。我通常使用交叉申请。

select ca.key,SUM(ca.pair)
from table
cross apply(values('col_a',col_a),('col_b',col_b),('col_c',col_c)) ca(key,pair)
group by ca.key

我不明白你的字符串列。


推荐阅读