我有一个名为games
的表,其中包含以下字段:match
和winner
。Match
是matches
表的外键;winner
是“参与者”表的外键,如果游戏仍不确定,可以为NULL
。
当我选择比赛列表时,我需要一种方法,通过计算每场比赛的获胜者并从获胜者中返回(从获胜者字段中)返回的参与者来找出每场比赛的获胜者。
子查询GROUP BY
,COUNT
和MAX
的各种组合尚未给我正确的结果。
我认为我不能用ORDER BY
和LIMIT
代替MAX
,因为如果所有参与者碰巧获得相同的获胜次数,那只会返回比赛中的第一个参与者。
最佳答案
您是否尝试过将JOIN与GROUP BY和COUNT一起使用?
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;
约翰
关于mysql - COUNT个获胜数,MySQL获胜最多的MAX参与者,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/5936595/