sql中同一列中值的总和

时间:2018-05-24 11:30:59

标签: sql mysqli

我想对同一列中的值求和。我尝试过交叉连接,它确实适用于我,但我不希望结果应该重复值

我有什么: - 表: -

|key|year|value|
----------------
|sam|2013| 30   |
-----------------
|sam|2014| 50   |
-----------------
|sam|2015| 70   |
-----------------
|sam|2016| 90   |
-----------------
|Jam|2013| 0   |
-----------------
|Jam|2014| 10   |
-----------------
|Jam|2015| 0   |
-----------------
|Jam|2016| 20   |
-----------------

查询: -

SELECT (t1.value + t2.value) AS total
FROM table t1 CROSS JOIN table t2
WHERE t1.year = t2.year AND t1.key  <> t2.key;

此查询的输出: -

|total|
-----
|30|
-----
|60|
-----
|70|
-----
|110|
-----
|30|
-----
|60|
-----
|70|
-----
|110|
-----

但我想要的是: -

|total|
-----
|30|
-----
|60|
-----
|70|
-----
|110|
-----

有人可以告诉我应该做些什么修改才能得到这个结果?

1 个答案:

答案 0 :(得分:1)

我认为你想聚合:

SELECT sum(value) as total
FROM table t1
GROUP BY year
ORDER BY year;