2011-09-20 149 views
1
COUNT()

比方說,我有一個數據庫表是這樣的:訂購由SQL

users 
------ 
id 
email 
referrerID 

我怎麼能排序最推薦的成員?我正在嘗試沿線:

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

但這似乎並不奏效。哪裏不對?

我認爲默認值0也可能以某種方式影響這個?

+0

這是什麼表的PK? –

+0

什麼是「PK」? – Flipper

+0

主鍵。它是否每個'id'具有多行或者具有唯一的'id'? –

回答

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; 
+0

第二個工作,但有沒有辦法讓0(零)referrerID成爲最後一項,而不是所有的人? – Flipper

+1

@Flipper'ORDER BY CASE WHEN REFERERID = 0 THEN -1 ELSE COUNT(id)END DESC' –

+0

謝謝!這工作! :) – Flipper