我当前的查询:
SELECT *
FROM `reported_users`
GROUP BY `reported_user`
ORDER BY ???
我有一张reported_users
表。当我的站点上的用户报告其他用户违反规则时,报告的用户将作为一行插入此表中。因此,同一个用户可以在表中拥有多行。要确保我在GROUP BY
字段上使用reported_user
后才能获得每个用户。但是我怎样才能ORDER BY
报告最少的用户。所以,如果表格如下:
reported_user | reporter
---------------------------
Joe | Bob
Jake | Nady
Lisa | Tim
Joe | Jim
Joe | Foo
Lisa | Bar
查询应返回:
Joe (3)
Lisa (2)
Jake (1)
我还想返回每个用户报告的次数。怎么办呢?
答案 0 :(得分:4)
SELECT reported_user, count(*)
FROM reported_users
GROUP BY reported_user
ORDER BY count(*) desc
答案 1 :(得分:3)
SELECT reported_user, count(*)
FROM reported_users
GROUP BY reported_user
ORDER BY count(*) Desc