mysql - SQL查询查找出场次数最多的球队名称
问题描述
编写查询以显示已进行最多比赛的球队的名称。如果有多个记录,则显示按团队名称升序排列的记录。
这是我的查询我不知道如何使用游戏计数显示最大团队名称
select t.name,count(*) as game_count
from game g,team t
where (g.team_id_1 = t.id or g.team_id_2 = t.id)
group by t.name order by game_count desc;
我必须找到打得最多的球队名称
我是 MySQL 新手,无法找出正确/最有效的查询,请帮忙。
有列的游戏桌
ID GAME_DATE TEAM_ID_1 TEAM_ID_2
具有列的团队表
身份证名称
解决方案
使用 group by 并使用子查询来匹配最大播放次数
select t.name as name, count(*) as gcount
from game g
join team t on t.id = g.team1 or t.id = g.team2
group by t.name
having count(g.id) = (
select count(g.id) games
from game g
join team t on t.id = g.team1 or t.id = g.team2
group by t.name
order by games desc
limit 1)
推荐阅读
- mongodb - MongoDB如何访问预先存在的集合?
- c++ - 使用opencv c ++(多线程)进行多摄像头捕获,但速度与串行速度相同
- html - 如何用 Tampermonkey 替换 html 标签?
- java - 无法让我的 java 类显示正确的值(游戏)(让所有随机损坏工作,以及健康)
- azure - 用于提取所有 API、它们的操作和入站策略的 Powershell 脚本
- c# - 使用流套接字时,如何使用 MVVM 从其他线程/任务更新 C# UWP 用户界面?
- msbuild - MSBuild 从设置为不复制的项目目录中复制 DLL
- c# - 真正的并行处理
- r - dashboardBody 没有显示来自 Shinydashboard 的 conditionalPanel 的正确图形
- reactjs - 我在浏览器中检索我的反应项目时遇到问题