将列名称列为一列,将总和列为另一列

时间:2013-01-02 16:02:26

标签: mysql sql

我有一个表格,其中包含一些与此相似的数据:

col1 | col2
-----------
val1    1
val1    5
val1    7
val2    3
val2    1
val2    4
val3    8

我想要的是一个查询来产生这样的东西:

col1 | sum
----------
val1   13
val2   8
val3   8

我尝试用复杂的子查询来做这件事,但没有什么比这更好了。我想我可能会过度思考它。

4 个答案:

答案 0 :(得分:3)

这应该是你所需要的。这会将汇总SUMGROUP BY

一起使用
SELECT col1, SUM(col2)
FROM unicorns
GROUP BY col1

答案 1 :(得分:3)

select col1, sum(col2) as sum from table group by col1

答案 2 :(得分:3)

您只需要将聚合函数sum()group by

一起使用
select col1, SUM(col2) total
from yourtable
group by col1

请参阅SQL Fiddle with Demo

答案 3 :(得分:2)

  Select col1, Sum(col2) sum
  From table
  Group By col1