首页 > 解决方案 > SQL中分别计算每个字段的值个数

问题描述

我有这样的表:

A栏 B栏 C栏
1 w
2 e
一种 1 p

我想得到这样的结果:

柱子 按值计数
2
一种 1
1 2
2 1
w 1
e 1
p 1

有什么方法可以用 SQL 得到上述结果吗?谢谢。

标签: sqlsql-server

解决方案


它也可以像下面一样使用CROSS APPLY

SELECT V.[Column],COUNT(*) CountByValue
FROM MyTable T
CROSS APPLY (
    SELECT [Column]
    FROM (
        VALUES (T.ColumnA),(T.ColumnB),(T.ColumnC)) v([Column])
    ) v
GROUP BY V.[Column]

推荐阅读