カテゴリ: MySQL 更新日: 2026/01/19

MySQLのSUM関数を完全解説!初心者でもわかるGROUP BYと合計の求め方

MySQLのSUM関数で合計を求める方法
MySQLのSUM関数で合計を求める方法

先生と生徒の会話形式で理解しよう

生徒

「MySQLで合計を出したいんですが、数字を足す方法がよく分かりません」

先生

「表の中にある数値をまとめて足すときは、SUM関数という仕組みを使います。電卓で合計を出す感覚に近いですよ」

生徒

「パソコン操作が苦手でも理解できますか?」

先生

「大丈夫です。紙の家計簿や売上表をイメージしながら説明していきます」

1. SUM関数とは何か?

1. SUM関数とは何か?
1. SUM関数とは何か?

MySQLのSUM関数は、表の中にある数値をすべて足して「合計」を出すための機能です。例えば、1か月の売上金額を全部足したいときや、年齢の合計を確認したいときに使います。

データベースは「表」で管理されていて、縦の列をカラム、横の行をレコードと呼びます。SUM関数は、指定したカラムの数字だけを集めて足し算してくれます。

2. サンプルで使うテーブルを確認しよう

2. サンプルで使うテーブルを確認しよう
2. サンプルで使うテーブルを確認しよう

まずは、SUM関数の説明に使うテーブルを見てみましょう。これは、商品ごとの売上金額を管理している表だと考えてください。


id | product_name | price | quantity
---+--------------+-------+---------
1  | りんご       | 100   | 3
2  | みかん       | 80    | 5
3  | ばなな       | 120   | 2
4  | りんご       | 100   | 4
5  | みかん       | 80    | 1

priceは1個あたりの値段、quantityは売れた個数です。このquantityの合計を出すのが今回の目的です。

3. SUM関数で単純な合計を出す方法

3. SUM関数で単純な合計を出す方法
3. SUM関数で単純な合計を出す方法

まずは、一番基本的なSUM関数の使い方です。quantityの合計を出したい場合、次のように書きます。


SELECT SUM(quantity)
FROM sales;

SUM(quantity)は「quantity列の数字を全部足す」という意味です。


SUM(quantity)
-------------
15

これは、すべての商品が売れた個数を合計した結果です。電卓で3+5+2+4+1と計算するのと同じことをMySQLが自動でやってくれています。

4. GROUP BYと一緒にSUM関数を使う

4. GROUP BYと一緒にSUM関数を使う
4. GROUP BYと一緒にSUM関数を使う

次に、商品ごとに売れた個数の合計を知りたい場合を考えます。このときに使うのがGROUP BYです。GROUP BYは「同じ名前のものをグループに分ける」ための仕組みです。


SELECT product_name, SUM(quantity)
FROM sales
GROUP BY product_name;

product_name | SUM(quantity)
-------------+--------------
りんご       | 7
みかん       | 6
ばなな       | 2

りんごは2行ありますが、GROUP BYでまとめられ、その中のquantityが合計されています。紙の売上表を商品別に集計するイメージです。

5. SUM関数で金額の合計を計算する

5. SUM関数で金額の合計を計算する
5. SUM関数で金額の合計を計算する

SUM関数は、計算した結果を合計することもできます。例えば「値段×個数」で売上金額を出し、その合計を求めることも可能です。


SELECT SUM(price * quantity)
FROM sales;

SUM(price * quantity)
--------------------
1460

これは、全商品の売上金額を合計した結果です。1行ずつ計算したあとに、全部足していると考えると分かりやすいです。

6. WHEREとSUM関数を組み合わせる

6. WHEREとSUM関数を組み合わせる
6. WHEREとSUM関数を組み合わせる

特定の条件だけで合計を出したい場合は、WHEREを使います。例えば「りんごだけの売上個数」を知りたいときは次のように書きます。


SELECT SUM(quantity)
FROM sales
WHERE product_name = 'りんご';

SUM(quantity)
-------------
7

WHEREは「条件に合う行だけを使う」という意味です。家計簿で「食費だけ合計する」感覚と同じです。

7. SUM関数を使うときの注意点

7. SUM関数を使うときの注意点
7. SUM関数を使うときの注意点

SUM関数は数値に対して使う関数なので、文字が入っている列には使えません。また、データが1件もない場合はNULLという特別な値になることがあります。

NULLは「何も入っていない」という意味で、0とは違います。最初は難しく感じますが、「空白のまま」というイメージで覚えておくと安心です。

カテゴリの一覧へ
新着記事
New1
MySQL
MySQLのWHERE句でNOT条件を指定する方法を徹底解説!初心者向けSQL条件検索ガイド
New2
PostgreSQL
PostgreSQLのLIMIT・OFFSETとパフォーマンス問題を完全解説|初心者でもわかる安全な使い方
New3
MySQL
MySQLのUPDATE文でデータを更新する基本を徹底解説|SQL初心者でもわかるデータベース更新入門
New4
PostgreSQL
PostgreSQLのOFFSET完全入門|並び替えと組み合わせてデータをスキップする方法を初心者向けに解説
人気記事
No.1
Java&Spring記事人気No1
PostgreSQL
PostgreSQLのDISTINCT完全ガイド|SQLで重複データを除外する方法を初心者向けに解説
No.2
Java&Spring記事人気No2
PostgreSQL
PostgreSQLの主キー・外部キーを完全解説!初心者でもわかる設定方法と考え方
No.3
Java&Spring記事人気No3
PostgreSQL
PostgreSQLとは?初心者向けに特徴をわかりやすく解説
No.4
Java&Spring記事人気No4
PostgreSQL
PostgreSQLのLEFT JOIN完全入門!不足データを補いながらテーブル結合する仕組みをやさしく解説
No.5
Java&Spring記事人気No5
PostgreSQL
PostgreSQLのUPDATE文の使い方(部分更新・条件更新)
No.6
Java&Spring記事人気No6
PostgreSQL
PostgreSQLスキーマ設計のベストプラクティス完全ガイド|初心者でもわかるデータベース整理術
No.7
Java&Spring記事人気No7
PostgreSQL
PostgreSQLスキーマ作成・削除完全ガイド!初心者でもわかるデータベース設計の基礎
No.8
Java&Spring記事人気No8
PostgreSQL
PostgreSQLの権限管理を完全解説|スキーマ単位で理解するデータベースセキュリティの基礎