首页 > 解决方案 > 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

具有列的团队表

身份证名称

标签: mysqlsql

解决方案


使用 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)

推荐阅读