Search code examples
selectsumssms

Getting a "The sum function requires 1 argument(s)." error


Trying to 2 values in a column together. The idea is that I get the m1, m2, and m3 values that fit the criteria; area ='000000' , ownership = '50', and code =113 or 114. The values should be 42, 40, and 44 respectively. Until now, I have been doing this in excel but am trying to take Excel out of this process. There are no NULL values involved in this.

Any idea why I am getting this error?

 select sum (m1,m2,m3),
 from dbo.tablename
 where area='000000' and ownership='50' and (code='113' or code='114');

sample data

 area    ownership    code    m1     m2    m3
000000       50        113    40     38     42
000000       50        114     2      2      2

desired result

 000000      50        113+114    42   40   44

Solution

  • In SQL, SUM(column) is an aggregate function that sums the values across different rows. If you want to add values from a single row, you can do SELECT m1 + m2 + m3 FROM.... You can also add the column values inside the rows, then sum it across rows like SUM(m1 + m2 + m3). I would re-write you query as:

    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');