【问题标题】:How to get sum of column for different values [closed]如何获得不同值的列总和[关闭]
【发布时间】:2015-04-21 14:41:07
【问题描述】:

我有一张像下面这样的桌子。

a1    |    a2  |  a3

Mike       3      Sam
Mike       3      John
John       2      Sam
John       1      Alex
Alex       3      Mike
Alex       2      Sam
Alex       3      John

我需要得到这样的结果:

Mike =3+3 = 6
John =2+1 = 3
Alex= 3+2+3 =8

SELECT sum (a2) from table1 WHERE a1 in (SELECT a1 FROM table1)

【问题讨论】:

  • SELECT a1, SUM(a2) FROM table GROUP BY a1

标签: mysql sql


【解决方案1】:

这是一个简单的 SQL 查询。

SELECT a1, SUM(a2)
FROM table
GROUP BY a1;

【讨论】:

    【解决方案2】:

    对于您的示例,只需将 group by a1 子句添加到 sql stmt。

    SELECT a1, sum (a2)
    from table1 
    WHERE a1 in (SELECT a1 FROM table1)
    GROUP BY a1;
    

    但是你也可以省略 where 子句,因为它是多余的,所以 最终代码如下所示:

    SELECT a1, sum (a2)
    from table1 
    GROUP BY a1;
    

    与 GROUP BY 子句结合时,SUM 函数计算 GROUP BY 子句中指定的每个组的总和。

    请参阅这些参考资料:

    http://www.mysqltutorial.org/mysql-sum/

    https://dev.mysql.com/doc/refman/5.0/en/group-by-functions.html

    另请参阅这些问题的答案:

    How to ORDER BY a SUM() in MySQL?

    【讨论】:

    • 只是一个仅供参考的发布链接和非编码示例,以帮助回答问题和/或手头的问题将使您的声誉点暴露给negative 点击我并没有对您的问题投反对票,但通常情况下像这样应该发布为 cmets..
    • @MethodMan 是的,你是对的,我第一次没有添加代码 -.- 我现在编辑我的答案
    • 我改变了投票,@MethodMan 概述了我投反对票的原因。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2019-12-28
    • 2019-09-17
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-04-27
    相关资源
    最近更新 更多