我需要连续添加到列中。 表数据
id Col1 Col2
1 10 20
2 11 20
3 12 20
预期结果
id Sum
1 30
2 31
3 32
我尝试sum(col1 + col2)
,但这会将所有列的总和放在一起。
答案 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
前面插入col1
、col2
和group 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