SQL 中通过 COUNT() 排序

Fli*_*per 2 sql select count sql-order-by

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

users
------
id
email
referrerID
Run Code Online (Sandbox Code Playgroud)

我如何按推荐次数最多的会员进行排序?我正在尝试以下内容:

SELECT id, email
FROM users
WHERE 1
ORDER BY COUNT(referrerID) DESC;
Run Code Online (Sandbox Code Playgroud)

但这似乎不起作用。我认为默认值 0 也可能会以某种方式影响这一点。

Mar*_*ith 5

以下澄清

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