Mysql 排行榜sql查询

Mysql 排行榜sql查询,mysql,phpmyadmin,Mysql,Phpmyadmin,我正在为我们的团队项目实施排行榜 这是我的查询,用于计算userid 2在表中的状态数 $query = "SELECT COUNT(content) FROM status WHERE userid=2 "; 现在,如何查询状态数最多的userid 示例表 || content || userid || || x || 1 || || xx || 1 || || y || 2 || || y

我正在为我们的团队项目实施排行榜

这是我的查询,用于计算userid 2在表中的状态数

$query = "SELECT COUNT(content) FROM status WHERE userid=2 ";
现在,如何查询状态数最多的userid

示例表

||  content  ||  userid  ||
||     x     ||     1    ||
||    xx     ||     1    ||
||     y     ||     2    ||
||    yy     ||     2    ||
||   yyy     ||     2    ||
||     z     ||     3    ||
结果

1st = 2 with 3 status
2nd = 1 with 2 status
3rd = 3 with 1 status
我将如何限制结果?如果我只需要前五名呢

关于这个问题

我正在考虑在用户表中添加另一列(number\u of_status),而不是这样的多个查询。。。哪个更好


谢谢大家!

应该能够通过
分组来完成此操作:

SELECT userid, COUNT(*) AS status_count
  FROM status
  GROUP BY userid
  ORDER BY status_count DESC
  LIMIT 5

您可以通过按查询分组和来实现这一点


thanks@DANJ! 但是,当我使用mysql\u fetch\u数组打印这个时,它跳过了第一个查询。请帮忙?谢谢
SELECT userid, COUNT(content) as statuses
FROM status
GROUP BY userid
ORDER BY statuses DESC
LIMIT 5