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

时间:2014-12-05 12:16:29

标签: mysql group-by sum

假设我有表"测试":

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
如果我解释我的问题很糟糕,或者我问得太多,我道歉。任何帮助将不胜感激。我试图搜索我的问题,但我不知道如何正确输入我的请求,我发现的所有结果都不符合我的要求。提前谢谢。

2 个答案:

答案 0 :(得分:0)

usercategorybank分组,然后在现金上应用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;

答案 1 :(得分:0)

这称为聚合查询或摘要查询。您研究的关键是GROUP BY

这样的事情应该有效:

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

老实说,这是基本的SQL。你可能应该阅读很多书中的一本,或者做一本优秀的在线教程,特别是如果你正在处理其他人的钱。