mysql - 如何对此 MySQL 查询进行 ORDER BY?

标签 mysql sql sql-order-by

我当前的查询:

SELECT *
FROM `reported_users`
GROUP BY `reported_user`
ORDER BY ???

我有一个reported_users 表。当我网站上的用户报告另一个用户违反规则时,报告的用户将作为一行插入此表中。所以同一个用户可以在表中有多个行。为确保在 reported_user 字段上使用 GROUP BY 时我只获取每个用户。但是我如何ORDER BY 被报告最多到最少的用户。所以如果表格看起来像这样:

reported_user | reporter
---------------------------
Joe           | Bob
Jake          | Nady
Lisa          | Tim
Joe           | Jim
Joe           | Foo
Lisa          | Bar

查询应该返回:

Joe (3)
Lisa (2)
Jake (1)

我还想返回每个用户被举报的次数。如何做到这一点?

最佳答案

SELECT reported_user, count(*)
FROM reported_users
GROUP BY reported_user
ORDER BY count(*) desc

关于mysql - 如何对此 MySQL 查询进行 ORDER BY?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11479677/

相关文章:

mysql - 子查询删除语句不起作用

mysql - 计算 block 嵌套循环连接的成本

SQL 按每组的局部最大值对结果进行排序

mysql 首先执行 mysql order by

mysql - 使用 group by 和 order by 时获得最低值

php - 每周执行一次 php 代码,但随机一天

php - mysql问题与添加列

mysql - 本地计算机上的 MySQL57 服务启动然后停止

javascript - 将新日期与 mySql 格式的字符串中的日期进行比较

php - 准备好的语句。执行后绑定(bind)是否正确?