使用MySQL获胜最多的COUNT个胜利数和MAX参与者数

时间:2011-05-09 12:02:46

标签: mysql count group-by max

我有一个名为games的表格,其中包含以下字段:matchwinner

  • Matchmatches表的外键;
  • winner是“参与者”表格的外键,如果游戏尚未确定,则可以是NULL

我需要一种方法来找出谁赢得每场比赛,当我选择一个比赛列表时,通过计算谁赢得每场比赛并返回获胜者最多的参赛者(来自获胜者领域)。

子查询的各种组合GROUP BYCOUNTMAX尚未给出正确的结果。

我认为我不能用ORDER BYLIMIT代替MAX,因为如果所有参与者碰巧拥有相同数量的胜利,那将只返回比赛中的第一个参与者

1 个答案:

答案 0 :(得分:0)

您是否尝试过使用GROUP BY和COUNT的JOIN?

select b.name, count(c.match)
from game a
inner join part b on a.winner = b.winner
inner join matches c on a.match = c.match
group by b.winner;

约翰