【SQL】列や行の合計を求める方法をサンプル付きでていねいに解説!
  • facebookページ
  • twitterページ
  • 2020.10.23

    【SQL】列や行の合計を求める方法をサンプル付きでていねいに解説!

    SQLで合計を求めるには「SUM関数」を使う

    SQLで値の合計を求める・取得したい場合は SUM関数 を使いましょう。

    基本的な書式は次の通りです。

    では、サンプルを通して使い方を見ていきましょう。

    まずは、次のようなテーブルを作成し、データを挿入します。

    さっそく、使い方を確認しましょう。

    合計を指定した列で求める方法

    では、指定した列の合計を求めてみます。

    first_scoreカラム の合計点数を取得してみましょう。

    先述したように、基本的な SUM関数 の記述方法を使って次のように記述します。

    上記のように、first_scoreカラム に格納されている値の合計値が取得できました。

    67+53+72+47+96=335になるので、ちゃんと計算して取得できているがわかります。

    second_scoreカラム、third_scoreカラム も同様にSQL文を書くことで、それぞれの合計を求めることができます。

    合計を指定した行で求める方法

    では次に、指定した行で合計を求める方法を見ていきましょう。

    今回の例で言うと、各データ(行)の first_scoreカラム、second_scoreカラム、third_scoreカラム の合計ということですね。

    行で合計を求めたい場合は、SUM関数 は使わずに各カラムを足して値を求めましょう

    次のような記述になります。

    取得したデータを見やすくするために、user_idカラム と nameカラム も取得しています。

    そして、合計したいカラムを +演算子 で合計しました。

    この合計したカラムの名前を total_score として、別名も設定しています。

    上記のSQL文を実行してみると、次の結果が得られるはずです。

    このように、各行のscoreの値が取得できました!

    ポテパンダの一言メモ

    列の合計値を求める場合は SUM関数 が、行の合計値を求める場合は、合計したいカラムを選んで足す のが簡単です!

    合計を複数列で求めるには?

    では、複数列の合計を求める方法を見ていきましょう。

    複数列の結果を取得したい場合は、基本構文の選択カラムを増やせばOKです。

    今回の例では、3つのカラムの合計を取得してみます。

    このように、それぞれのカラムの合計値を取得できました!

     

    「これらのカラムの合計値は出せないの?」

    こんな風に思う人もいるでしょう。

    もちろん、上記のような計算も可能です。

    次のように、それぞれの SUM関数 を足せば合計値を求められます

    このように全カラムの合計値が取得できました!

    全部のカラムの合計値を出す機会はあまりないかもしれません。

    例えば、次のようにカラム数で割れば、各カラム(テスト)の合計値の平均が求められます。

    複数列の合計もしっかり取得できるので、ぜひやり方を覚えてください。

    合計を求める際に条件を設定する

    SQLで合計を求める際に、何か条件を指定したい場合もあると思います。

    条件を設定するシンプルな方法は WHERE句 による指定になるでしょう。

    次のように指定します。

    試しに、first_scoreカラム の値が60よりも大きいものだけ、合計値を取得してみましょう。

    次のように記述します。

    上記のように、条件に合わせた合計が求められました。

    SUM関数 では、WHERE句 以外にも CASE WHEN などさまざまな条件指定ができます。

    参考:SUM(CASE WHEN)を使った条件付き集計

    「SUM関数」と「GROUP BY句」を使って合計を求める

    SUM関数 は GROUP BY句 と組み合わせて、合計を求められます。

    サンプルを通して使い方を確認していきましょう。

    確認用に、次のようなテーブルを別途作成します。

    では、このテーブル・データの classカラム ごとに合計を求めてみましょう。

    次のようにSQL文を記述し、実行します。

    上記のように、クラス1と2のそれぞれの合計が取得できました!

    データを特定のカラム値で分けて、合計を求めたい場合に活用しましょう。

    行の合計(データ数)を求めるには?

    「値の合計ではなくて、行の合計を求めたい!」

    こんな場合は COUNT関数 を使いましょう。

    使い方は次の通りです。

    詳しくは以下の記事で解説しているので、よければ参考にしてみてくださいね。

    【関連記事】

    ▶︎SQLで行数(COUNT)を取得する方法を解説!

    合計以外の「平均・最大・最小」などの求め方

    合計以外にも 平均・最大・最小 など、行や列の値を求める関数は「集計関数」と呼ばれます。

    基本的な使い方は、合計を求めるSUM関数と同じです。

    合計と合わせてよく使われるものですので、ぜひこの機会に覚えておくとよいでしょう。

    それぞれの関数は、以下の記事で解説しています。

    ■平均

    【関連記事】

    ▶︎SQLで平均を求める関数や方法について徹底解説!

     

    ■最大・最小

    【関連記事】

    ▶︎【超便利!】SQLのMAX関数・MIN関数の使い方をわかりやすく解説

    まとめ

    SQLで合計を求める方法、 SUM関数 について解説しました!

    列や行の合計を求める機会は多く、覚えておくと重宝します。

    また、平均や最大・最小の求め方も知っておくと、スムーズにデータ処理ができるでしょう。

    ぜひこの記事を参考に、まずは合計の求め方をマスターしてくださいね!



    優良フリーランス案件多数掲載中!
    フリーランスエンジニアの案件をお探しなら
    ポテパンフリーランス

    この記事をシェア

    • Facebookシェア
    • Twitterシェア
    • Hatenaシェア
    • Lineシェア
    pickup









    ABOUT US

    ポテパンはエンジニアと企業の最適なマッチングを追求する企業です。

    READ MORE