在SQL中按COUNT()排序

时间:2011-09-20 00:03:19

标签: sql select count sql-order-by

假设我有一个这样的数据库表:

users
------
id
email
referrerID

我如何按推荐人数最多的成员排序?我正在尝试以下方面:

SELECT id,email FROM users WHERE 1 ORDER BY COUNT(referrerID) DESC;

但这似乎不起作用。有什么问题?

我认为默认值0也可能以某种方式影响这个?

1 个答案:

答案 0 :(得分:3)

澄清后

SELECT referrerID,
       COUNT(id) as Num
FROM   users
GROUP  BY referrerID
ORDER  BY CASE
            WHEN referrerID = 0 THEN -1
            ELSE COUNT(id)
          END DESC;