MySQL查询无法弄清楚如何执行

问题描述:

假设我有表“测试”: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 

我很抱歉,如果我解释我的问题不好,或者如果我问得太多。任何帮助将不胜感激。我试图搜索我的问题,但我不知道如何正确输入我的请求,我发现的所有结果都与我的请求不符。提前致谢。

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

这就是所谓的汇总查询或汇总查询。您的研究的关键是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