指定の列の値の合計値を返す、集約関数です。
Synopsis
SUM([ALL | DISTINCT] expression)
既定では、集約関数は Display 値ではなく、Logical (内部) データ値を使用します。
通常、
SUM は数値を含むフィールドまたは式に適用されます。タイプ・チェックは実行されないため、(ほとんど意味はありませんが) 非数値フィールドに対して実行できます。
SUM では、空文字列 ('') のように数値でない値はゼロ (0) として扱われます。
データ・フィールドの NULL 値は、
SUM 集約関数値を得る場合は無視されます。クエリから行が返されない場合や、すべての行のデータ・フィールド値が NULL の場合、
SUM は NULL を返します。
以下のクエリは、Sample.Employee データベースに記録されている全従業員の給与の合計を返します。
SELECT SUM(Salary) AS Total_Payroll
FROM Sample.Employee
以下のクエリは、Sample.Employee データベースに記録されている役職ごとの給与の合計と平均値を返します。
SELECT Title,SUM(Salary) AS Total,AVG(Salary) AS Average
FROM Sample.Employee
GROUP BY Title
ORDER BY Average
以下のクエリは、算術式とともに使用される
SUM を示しています。Sample.Employee データベースに記録されている各役職に対して、現在の給与の合計と支払いに 10% 増加した給与の合計を返します。
SELECT Title,SUM(Salary) AS Total,SUM(Salary * 1.1) AS Raises
FROM Sample.Employee
GROUP BY Title
ORDER BY Title
以下のクエリは、
CASE 文を使用して論理式とともに使用される
SUM を示しています。すべての定額給従業員をカウントし、
SUM を使用して $90,000 以上の所得があるすべての定額給従業員をカウントします。
SELECT COUNT(Salary) As AllPaid,
SUM(CASE WHEN (Salary >= 90000)
THEN 1 ELSE 0 END) As TopPaid
FROM Sample.Employee