Упорядочивание по COUNT () в SQL - PullRequest
       15

Упорядочивание по COUNT () в SQL

1 голос
/ 20 сентября 2011

Допустим, у меня есть таблица базы данных, подобная этой:

users
------
id
email
referrerID

Как я могу отсортировать участников с наибольшим количеством рефералов? Я пытался что-то вроде:

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

Но, похоже, это не работает. Что не так?

Я думаю, что значение по умолчанию 0 также может как-то повлиять на это?

1 Ответ

3 голосов
/ 20 сентября 2011

после уточнения

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