【SQL】SUM関数(SELECT SUM)を1分でわかりやすく解説

Database

SQLにおける集約関数の1つ―。SUM関数の使い方を初心者向けにわかりやすく1から解説します。

SUM関数は指定したカラムのレコードの合計を取得します。

SUM関数

このページではSQLにおけるSUM関数の利用方法・構文ルールを初心者向けにご説明します。

このページで学べる内容
  • SUM関数の使い方・構文ルール
  • GROUP BY句を利用した集計方法

プログラマーやシステムエンジニアを目指す方であれば知らないと恥ずかしい超・基本知識です。是非最後までご覧ください。

スポンサーリンク

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」

SUM関数では必ずカラムを指定する必要があり、ワイルドカード*を使用することはできません。

SELECT SUM(*) FROM PointList;

-- SUM関数の引数には「*」を利用することはできません

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       |
*/

ご覧のように、指定したグループごとに結果を取得してくれます。

SUM関数のまとめ
  • SUM関数は指定したカラムの合計値を取得できる
  • NULLは除外して計算される
SELECT SUM(Japanese) FROM PointList;

-- 結果は「360」
  • GROUP BY句と組み合わせて利用することでグループごとに合計値を取得することが可能
SELECT FM, SUM(Japanese)
  FROM PointList
 GROUP BY FM;

/* 実行結果
  +----------+-----------+
  | FM       | SUM       |
  +----------+-----------+
  | 男       | 10        |
  | 女       | 350       |
*/

システムエンジニアを目指したい方は

システムエンジニアを目指す方や、IT知識を1から身につけたい方は以下のページをご覧ください。

正直どこから学び始めればよいかわからない。どのように勉強していけば、エンジニアとしてのスキルが磨けるか?が分からない・・・という方は必見です。

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

タイトルとURLをコピーしました