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


Matchmatches表的外键;
winner是“参与者”表的外键,如果游戏仍不确定,可以为NULL


当我选择比赛列表时,我需要一种方法,通过计算每场比赛的获胜者并从获胜者中返回(从获胜者字段中)返回的参与者来找出每场比赛的获胜者。

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

我认为我不能用ORDER BYLIMIT代替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/

10-11 07:12