如何按表的列项对表进行分组 [英] how to group the table by its column item
本文介绍了如何按表的列项对表进行分组的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
我有这样的桌子
名字组
aaa A
aaa B
aaa A
aaa C
我希望得到格式为
的输出
名称ABC
aaa 2 1 1
如何得到这个,任何建议请
Hi,
I have the table like this
name group
aaa A
aaa B
aaa A
aaa C
I want to get the output in the format of
name A B C
aaa 2 1 1
how to get this ,any suggestion pls
推荐答案
使用PIVOT - UNPIVOT
使用PIVOT和UNPIVOT [ ^ ]
在SQL Server中透视数据 [ ^ ](替代方式)
Use PIVOT - UNPIVOT
Using PIVOT and UNPIVOT[^]
Pivoting data in SQL Server[^](Alternate ways)
在Soluton下面尝试...
Try below Soluton...
DECLARE @temp TABLE (NAME CHAR(3), GROUP1 CHAR(2))
INSERT INTO @temp (NAME, GROUP1)
VALUES
('AAA', 'A'),
('AAA', 'B'),
('AAA', 'A'),
('AAA', 'C')
SELECT
NAME
, A = COUNT(CASE WHEN GROUP1 = 'A' THEN 1 END)
, B = COUNT(CASE WHEN GROUP1 = 'B' THEN 1 END)
, C = COUNT(CASE WHEN GROUP1 = 'C' THEN 1 END)
FROM @temp
GROUP BY NAME
可以通过数据透视表完成。
它是专为您正在搜索的目的而设计的
it can be done through pivot table.
It is designed for the purpose you are searching
这篇关于如何按表的列项对表进行分组的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!
查看全文