
SQLにおける集約関数の1つ―。SUM関数の使い方を初心者向けにわかりやすく1から解説します。
SUM関数は指定したカラムのレコードの合計を取得します。

このページではSQLにおけるSUM関数の利用方法・構文ルールを初心者向けにご説明します。
プログラマーやシステムエンジニアを目指す方であれば知らないと恥ずかしい超・基本知識です。是非最後までご覧ください。
SQL:SUM関数の使い方・構文ルール
SELECT SUM(カラム名) FROM テーブル名;
SUM関数はCOUNT関数を始めとする他の集約関数と「同様の構文ルール」で利用することができます。
ここでは以下のようなテーブルを例にSUM関数の利用方法と処理結果を見ていきます。


成績の一覧テーブルから、Japanaeseカラムの合計値を取得したい場合は以下のように記述します。
SELECT SUM(Japanese) FROM PointList; -- 結果は「360」
COUNT関数と同様に、複数のカラムを指定して合計値を取得することも可能です。
SELECT SUM(Japanese),SUM(Math) FROM PointList; -- SUM「360」/ SUM「3600」
NULL値の扱い
SUM関数では、合計を取得する際にNULL値を除外して計算してくれます。
仮に以下のようなテーブルが存在する場合にSUM関数を利用するとどうなるか?


SUM関数は、計算の前にNULLを除外し、その後で合計を計算するため結果は以下のようになります。
SELECT SUM(Japanese),SUM(Math),SUM(English) FROM PointList; -- SUM「10」/ SUM「100」/ SUM「10」
GROUP BY句との合わせ技
SUM関数は "GROUP BY" 句と併用して利用することが可能。一般的なシステムでSUM関数が用いられる場合は "GROUP BY" 句と同時に用いられることが非常に多いため、この使い方も併せて理解しておくと良いでしょう。

先ほどのPointListテーブルに性別を示すカラムを追加して考えてみましょう。

GROUP BY句にFM列を指定して実行した結果がこちら。
SELECT FM, SUM(Japanese) FROM PointList GROUP BY FM; /* 実行結果 +----------+-----------+ | FM | SUM | +----------+-----------+ | 男 | 10 | | 女 | 350 | */

ご覧のように、指定したグループごとに結果を取得してくれます。
システムエンジニアを目指したい方は
システムエンジニアを目指す方や、IT知識を1から身につけたい方は以下のページをご覧ください。
正直どこから学び始めればよいかわからない。どのように勉強していけば、エンジニアとしてのスキルが磨けるか?が分からない・・・という方は必見です。

システムエンジニア向けに「できるエンジニア」になる方法を1から解説しておりますので、是非ご覧ください。