需要选择前10名SQL人员

Vik*_*ors 3 mysql sql

我需要MySQL的SQL查询来选择拥有最多粉丝的前10名

我的桌子

id | user_id | follow_id
1     3          6
2     3          7
3     4          6
4     5          6
5     7          3
6     9          7

从id为6的示例用户跟随3次,7-> 2和3-> 1,因此TOP 10将是

ID为6,7,3的用户...

hjp*_*r92 8

SELECT `follow_id`, COUNT(1) AS `followers`
FROM  `tbl`
GROUP BY `follow_id`
ORDER BY COUNT(1) DESC
LIMIT 10;
Run Code Online (Sandbox Code Playgroud)

  • @Adrien:我知道不同之处.你的观点是什么?这不是一个MyISAM表(据我们所知),它有一个`GROUP BY`因此不适用,在这种情况下,`COUNT(*)`和`COUNT(follow_id)`在结果中是等价的 - 但是有时效率不高. (2认同)