我当前的查询:
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/