sql - SQL中分别计算每个字段的值个数
问题描述
我有这样的表:
A栏 | B栏 | C栏 |
---|---|---|
乙 | 1 | w |
乙 | 2 | e |
一种 | 1 | p |
我想得到这样的结果:
柱子 | 按值计数 |
---|---|
乙 | 2 |
一种 | 1 |
1 | 2 |
2 | 1 |
w | 1 |
e | 1 |
p | 1 |
有什么方法可以用 SQL 得到上述结果吗?谢谢。
解决方案
它也可以像下面一样使用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]
推荐阅读
- xml - 使用 xsl:copy-of 时 xsl:namespace-alias 无法按预期工作
- iis - 每个请求的 Kerberos 挑战
- go - 如何使用 Go 语言从 bitbucket 上的远程存储库中获取文件
- html - 框架集不能在 EDGE 中运行,但运行良好 Mozilla/IE
- python - 通过make启动时,有什么方法可以查看shell脚本的输出,对于SAM
- java - 基于存储对象的属性修剪 flink 状态
- c++ - 避免隐式捕获这个?
- c# - Simple.OData.Client 错误:类型上不存在属性“上下文”
- spring-boot - 类星体纤维在线程启动后返回空结果
- java - 来自守护程序的错误响应:在等待连接时取消请求(等待标头时超出 Client.Timeout)