DB2,SQL查询到SUM 2列

时间:2016-02-08 06:12:43

标签: sql db2

我需要连续添加到列中。 表数据

id    Col1     Col2
1     10        20
2     11        20
3     12        20

预期结果

id    Sum 
1     30  
2     31  
3     32  

我尝试sum(col1 + col2),但这会将所有列的总和放在一起。

3 个答案:

答案 0 :(得分:2)

select id, col1 + col2 as sum from mytable 是一个聚合函数(一个为一组行提供单个结果的函数),而不是一个代数函数:你想要添加(两个列的数学和):

{{1}}

答案 1 :(得分:2)

我们在这个查询的组子句中有两种类型的列(聚合列和组列)

select id, col1 + col2 as sum
from mytable 
group by id

必须在id前面插入col1col2group by,否则会报错

<块引用>

列“TEST.COL1”在选择列表中无效,因为它不是 包含在聚合函数或 GROUP BY 子句中。

如果使用MAX()这样的聚合函数

SELECT
    ID,
    MAX(COL1+COL2) AS SUM
FROM TEST
GROUP BY ID

我们得到了结果,但这不是一个好主意,因为这段代码的成本是它的 4 倍 波纹管代码

SELECT
    ID,COL1+COL2 AS SUM
FROM TEST

答案 2 :(得分:-1)

试试这个

select id, col1 + col2 as sum
from mytable 
group by id