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