mysql - 在 SQL 中同时从多列和多行计数
问题描述
我有一个匹配表,如下所示:
Match Win Lost
MOne T1 T2
MTwo T2 T3
MThr T1 T3
MFou T3 T4
我需要找到每支球队的总比赛,输出应该是这样的:
Team Total_matches
T1 2
T2 2
T3 3
T4 1
我知道 SUM() 和 GROUP BY 子句,但无法在多个列上执行此操作。
任何帮助将不胜感激。
解决方案
您可以使用union all
unpivot 数据然后聚合:
select team, count(*)
from ((select win as team
from matches
) union all
(select lost as team
from matches
)
) m
group by team
推荐阅读
- opengl - 在片段着色器中将世界空间光位置转换为模型空间的问题
- json - 从 IBAction 调用的 dispatchqueue.main.async 中跳过了 Https 请求
- boost - 由于未定义对 Boost 和事件库的引用而无法编译?
- reactjs - react native如何实现一个和whatsapp一样的调用系统?
- javascript - javascript,单击时更改与单击的元素不同的元素的html
- r - 一次将可格式化的格式应用于所有列
- docker - 我如何将带有 -p 80:80 的 docker 命令翻译为 kubernetes yaml
- html - 为什么我的列出现在彼此下方而不是下一个?
- .htaccess - 将文件夹重定向到同一文件夹中的文件下载
- python - 加载导入统计模型时如何修复错误“找不到指定的模块”?