我想弄清楚如何编写一个查询,跨越多个列的计数值,结果表在每列中的每个可能值为列的任何列都有一个计数。SQL组By/Count:跨多列计数相同的值?
示例:假设我有MYTABLE
Source data table:
P1 P2 P3
-----------
a b a
a a a
b b b
a b b
我想计数A和B的每列中,产生类似的查询:
Desired query output:
P1 P2 P3
-------------
a | 3 1 2
b | 1 3 2
我知道我能做到这一点的单列容易与组通过:
select P1, count(*) as mycounts
from mytable
group by P1
但是是否可以这样做每列?
我正在使用SQL Server 2008(T-SQL)。预先感谢任何帮助!
谢谢,Arion!这很漂亮!现在来研究语法并学习这些函数的内涵:D – 2012-02-08 15:07:36
然后你可以考虑接受答案。很高兴帮助:) ..我添加了一个像在MSDN页面的枢轴的答案。 – Arion 2012-02-08 15:12:10
现在我已经学会了如何接受答案。哦,互联网教育学,我是如何崇拜你的。 – 2012-02-08 15:26:25