本記事では、SUMなどの使い方について解説します。
前回はLIIMITでの表示件数制限方法について解説しました
今回では、SUMなどの集計関数を使って、合計や平均を求めるやり方についてみていきましょう。
合計や平均を求めることができるようになると、より実用的なことがSQLでできるようになります。
SQLのSUMとは?
SUMとは、データの合計数を取得する集計関数のことです。
SUMを使うことで、カラムの数値を全て足し算した数を取得できるようになります。
たとえば、テストの点数の合計点を取得したい場合にSUMが使えます。
このように、合計数を取得する際に必要なのが、SUMですね。
SQLのSUMの使い方
SUMの具体的な使い方についてみていきましょう。
次の項目に従って解説していきます。
- 特定カラムの合計値を求める
- WHEREで抽出したデータの合計値を求める
なお、今回は第1回目の記事で作成したテーブルを使って解説します。第1回目の記事で演習用のテーブルを作っていない方は、【SQL入門編1】初心者必見!SQLのクエリの書き方を学ぼうを読んで予め作成してくださいね。
特定カラムの合計値を求める
SUM関数を使って特定カラムの合計値を求めてみましょう。
○コード例
SELECT SUM(TestScore) FROM TEST.Student;
○実行結果

SUMを使う場合は、合計値を求めたいカラムに「SUM(カラム名)」とするだけです。
上記の例では「SUM(TestScore)」となっているので、TestScoreの合計値が求められています。
これがSUM関数の基本的な使い方となります。
WHEREで抽出したデータの合計値を求める
SUM関数はWHERE句で抽出したデータの合計値を求めることも可能です。
○コード例
SELECT SUM(TestScore) FROM TEST.Student WHERE TestScore >= 50;
○実行結果

上記の例ではTestScoreが50以上のデータのみの合計値を求めています。
このようにWHERE句とSUM関数を組み合わせることで、特定条件のみのデータの合計値も算出可能です。
SQLのCOUNTとは?
COUNTとは、カラム数を取得する集計関数のことです。
COUNTを使うことで、NULLではなくデータが入っているカラムの数が取得できるようになります。
たとえば、登録済みのユーザーのみに「1」を入力することで、COUNTを使って登録済みのユーザー数の合計を取得することが可能です。
このように、データが入っている数をカウントする際に必要なのが、COUNTですね。
SQLのCOUNTの使い方
COUNTの具体的な使い方についてみていきましょう。
次の項目に従って解説していきます。
- データがいくつあるか求める
- WHEREで抽出したデータがいくつあるか求める
データがいくつあるか求める
COUNT関数を使って、データ数を求めてみましょう。
○コード例
SELECT COUNT(TestScore) FROM TEST.Student;
○実行結果

COUNT関数の使い方はSUM関数とだいたい一緒です。
データ数を求めたいカラム名に「COUNT(カラム名)」とします。
上記の例では「COUNT(TestScore) 」としているため、TestScoreのカラム数を求められています。
WHEREで抽出したデータがいくつあるか求める
COUNT関数もやはりWHERE句と組み合わせることが可能です。
○コード例
SELECT COUNT(TestScore) FROM TEST.Student WHERE TestScore >= 50;
○実行結果

上記の例ではTestScoreが、50以上のデータ数をカウントしています。
このようにWHEREと組み合わせることで、条件に該当するデータの件数を求められます。
どちらかというとCOUNT関数は、単体で使うよりWHEREと組み合わせることが多いでしょう。
SQLのAVGとは?
AVGとは、特定カラムの平均値を求めるための集計関数のことです。
SQLのAVGを使うことで、数値データの平均値を表示できるようになります。
たとえば、テストの平均点を求めることが可能です。
このように、平均値を求める際に必要なのが、AVGですね。
SQLのAVGの使い方
AVGの具体的な使い方についてみていきましょう。
次の項目に従って解説していきます。
- 特定カラムの平均値を求める
- WHEREで抽出したデータの平均値を求める
特定カラムの平均値を求める
AVG関数を使って特定カラムの平均値を求めてみましょう。
○コード例
SELECT AVG(TestScore) FROM TEST.Student;
○実行結果

AVG関数も「AVG(TestScore)」のように使うことで、データの平均値を求められます。
WHEREで抽出したデータの平均値を求める
AVG関数もやはりWHEREで抽出した後に平均値を求めることが可能です。
○コード例
SELECT AVG(TestScore) FROM TEST.Student WHERE gender="男";
○実行結果

上記の例ではgenderが「男」のデータのみをWHERE句で抽出し、それらのTestScoreの平均値を求めています。
まとめ
本記事では、SUMなどの使い方について解説しました。
SUMを使って合計値を求める方法などが、お分かり頂けたかと思います。
SQLで集計関数を使えると、人力では面倒な計算もすることが可能です。
次回は、MAXやMINなどの集計関数の使い方を解説していきます。