获得" sum函数需要1个参数。"错误

时间:2017-12-12 19:30:46

标签: select sum ssms

一起尝试在列中输入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

2 个答案:

答案 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;