在 SQL 中通过 COUNT() 排序

问题描述 投票:0回答:1

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

users
------
id
email
referrerID

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

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

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

sql select count sql-order-by
1个回答
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;  
© www.soinside.com 2019 - 2024. All rights reserved.