2012-07-24 43 views
0

後,我已經制定了一個問題,我有以下幾點:mysql命令通過SUM

SELECT Event_id, SUM(Money) AS 'Total Money' 
FROM prize 
GROUP BY Event_id 
ORDER BY 'Total Money' DESC; 

但是它不總彙票。如果我省略了''標記並呼叫Total_Money列,它工作正常:

SELECT Event_id, SUM(Money) AS Total_Money 
FROM prize 
GROUP BY Event_id 
ORDER BY Total_Money DESC 

這是爲什麼? 有沒有辦法調用欄目總金額和排序我想要的?

+0

您使用報價',不要使用報價。使用'字符 – 2012-07-24 10:13:27

回答

0

單引號定義一個字符串值,因此您的訂單由你不是說order by this column你正在說order by the string 'Total Money'哪個當然不起作用。

如果你真的想使用的空間,當你寫SELECT Event_id, SUM(Money) AS Total Money你給了一個別名獎金總數總結(錢),你可以使用反引號,而不是單引號像

ORDER BY `Total Money` 
+0

謝謝klennepette,不知何故在我的學習中錯過了。 – 2012-07-24 10:21:35

0
SELECT Event_id, SUM(Money) AS `Total Money` 
FROM prize 
GROUP BY Event_id 
ORDER BY `Total Money` DESC; 

「總金錢」訂購基本上說ORDER BY一些字符串到MySQL。當您將任何內容放入引號中時,您將創建一個字符串。當創建別名,處理,是經過一些保留字(如user例如)指定的列名 - 使用反引號:

`user` 
1


如果您將總金額寫在引號中,那麼您將其作爲錯誤的字符串。