2011-04-05 39 views
0

如何獲得:他們獲得的總獎勵數量排名前20的大學? enter image description here 我試過了,它只給我1個記錄?在mySQL中獲得用戶排名前20的結果

SELECT sum(amount), org 
FROM iis 
ORDER BY award 
LIMIT 0, 20; 
+0

表中有多少條記錄? – Rasika 2011-04-05 01:32:12

+0

大約有1600條記錄 – Jshee 2011-04-05 01:46:29

回答

1

您的問題排序的列名是你問爲所有大學的總和。你需要使用一個GROUP BY子句指定您希望它每所大學:

SELECT SUM(amount), org 
FROM iis 
GROUP BY org 
ORDER BY SUM(amount) DESC 
LIMIT 0, 20; 
+0

4個回覆後的榮譽 – Jshee 2011-04-05 01:49:13

+0

剛注意到我的ORDER BY子句不正確,所以我修正了它。 (帽子提示BrokenGlass) – 2011-04-05 02:02:45

0

你需要一個分組,否則,你只會得到一個結果,你也想通過聚合列(所有金額的總和訂購對於一個給定的組織),所以你必須給它一個名稱:

SELECT sum(amount) as total, org 
FROM iis 
GROUP BY org 
ORDER BY total desc 
LIMIT 0, 20;