2014-12-05 53 views
-2

假設我有表「測試」:MySQL查詢無法弄清楚如何執行

user | category | bank | cash 
------------------------------------------------ 
aaa  | cat1  | TBC  | 10 
aaa  | cat2  | TBC  | 20 
aaa  | cat2  | TBC  | 30 
aaa  | cat1  | VTB  | 20 
bbb  | cat1  | TBC  | 10 
bbb  | cat2  | TBC  | 20 
bbb  | cat2  | TBC  | 30 

我需要查詢,將用戶羣,分類,銀行,並總結了現金這樣的:

user_gr | category_gr | bank_gr | cash_gr 
------------------------------------------------ 
aaa  | cat1  | TBC  | 10 
aaa  | cat2  | TBC  | 50 
aaa  | cat1  | VTB  | 20 
bbb  | cat1  | TBC  | 10 
bbb  | cat2  | TBC  | 50 

我很抱歉,如果我解釋我的問題不好,或者如果我問得太多。任何幫助將不勝感激。我試圖搜索我的問題,但我不知道如何正確輸入我的請求,我發現的所有結果都與我的請求不符。提前致謝。

回答

0

user,categorybank分組,然後在現金上應用SUM()集合應該有訣竅嗎?

查詢

SELECT user AS user_gr, 
     category AS category_gr, 
     bank AS bank_gr, 
     SUM(cash) AS cash_gr 
    FROM test 
GROUP BY user, category, bank; 
+0

兩個答案都是正確的,我只是勾選了這個答案,因爲它更正確地匹配了請求。順便說一句,你應該編輯最後一行代碼。謝謝 – user3137740 2014-12-05 12:53:42

0

這就是所謂的彙總查詢或彙總查詢。您的研究的關鍵是GROUP BY

像這樣的東西應該工作:

SELECT user, category, bank, SUM(cash) AS cash_gr 
    FROM test 
    GROUP BY user, category, bank 

老實說,這是基本的SQL。你可能應該閱讀其中的一本書或者做一個優秀的在線教程,特別是如果你在處理其他人的錢。

+0

謝謝。我只是不知道可以按多列進行分組。此外,我不管理其他人的錢,它只是一個學校項目,並且我擁有的所有MySQL知識都是通過搜索問題和閱讀人們的意見和解決方案從本網站獲得的。謝謝。 – user3137740 2014-12-05 12:52:17