如何在这个MySQL查询上进行ORDER BY?

时间:2012-07-13 23:40:25

标签: mysql sql sql-order-by

我当前的查询:

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)

我还想返回每个用户报告的次数。怎么办呢?

2 个答案:

答案 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