假设我有一个这样的数据库表:
users
------
id
email
referrerID
我如何按推荐人数最多的成员排序?我正在尝试以下方面:
SELECT id,email FROM users WHERE 1 ORDER BY COUNT(referrerID) DESC;
但这似乎不起作用。有什么问题?
我认为默认值0也可能以某种方式影响这个?
答案 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;