一起尝试在列中输入2个值。我的想法是得到符合标准的m1,m2和m3值; area =' 000000' ,ownership =' 50'和code = 113或114.值分别为42,40和44。到目前为止,我一直在excel中这样做,但我试图将Excel从这个过程中解脱出来。此中没有涉及NULL值。
知道我为什么会收到这个错误吗?
select sum (m1,m2,m3),
from dbo.tablename
where area='000000' and ownership='50' and (code='113' or code='114');
示例数据
area ownership code m1 m2 m3
000000 50 113 40 38 42
000000 50 114 2 2 2
期望的结果
000000 50 113+114 42 40 44
答案 0 :(得分:1)
在SQL中,SUM(column)
是一个聚合函数,它将不同行的值相加。如果要从单行添加值,可以执行SELECT m1 + m2 + m3 FROM...
。您还可以在行内添加列值,然后将其与SUM(m1 + m2 + m3)
之类的行相加。我会把你的查询重新写成:
SELECT SUM(m1) sum1, SUM(m2) sum2, SUM(m3) sum3
FROM dbo.tablename
WHERE area='000000' AND ownership='50' AND (code='113' OR code='114');
答案 1 :(得分:1)
获得如下具体答案。
<块引用>想要的结果
<块引用>区域 |所有权|代码 |米1 |平方米 | m3
000000| 50 | 113+114| 42 | 40 | 44
一旦您想查看区域和所有权,就应该在 sql 和 group by 条件中包含此列。 喜欢:
select area, ownership, sum(code), sum(m1), sum(m2), sum(m3)
from dbo.tablename
where area='000000' and ownership='50' and (code='113' or code='114')
group by area, ownership;