【SQL入門編7】SUMなどの集計関数を使ってみよう

SQL入門

本記事では、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などの集計関数の使い方を解説していきます。

❤内容は役に立ちましたか?皆さまのご意見が励みになります☺
YesNo
無料でスキルを学んでからIT業界に転職

そろそろ本気で将来のことを考えなくちゃ……手に職をつけてIT業界に転職したいなぁ。でも、業界未経験だから、なんか敷居が高そう、と思っている方へ。

これからIT業界への転身を目指すあなたに、無料でスキルアップできて、平均で年収は90万円もアップできるんです。

SQL入門
【この記事を書いた人】
谷津弘樹

某自社開発のIT企業に勤めていた元webプログラマーです。主にサーバーサイド側を担当し、phpを使った開発経験があります。現在は退職しフリーランスライターとして活動中。IT系の記事を主に執筆し生計を立てています。

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