我需要在mySQL中编写一个函数来返回拥有最多粉丝的团队

时间:2016-12-02 15:54:50

标签: mysql count group-by max

所以我有一个名为“Fan”的表,其中包含fanId,fanName和teamId。我需要计算每个teamID的所有粉丝,但SELECT语句只需要返回粉丝数量最多的团队。我一直在使用COUNTMAX以及GROUP BY,但不管我似乎无法弄明白。我该怎么做呢?

1 个答案:

答案 0 :(得分:0)

mysql不支持CTE,因此看起来不太好:

SELECT f.team_id, f.fans
FROM (SELECT team_id,COUNT(fan_id) as fans FROM fan GROUP BY team_id) f
INNER JOIN (SELECT max(fans) as max_fan
    FROM (SELECT team_id,COUNT(fan_id) as fans FROM fan GROUP BY team_id)) m
ON f.fans=m.max_fan