Mysql 排行榜sql查询
我正在为我们的团队项目实施排行榜 这是我的查询,用于计算userid 2在表中的状态数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
$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