MySQLのSUM()関数の使い方を徹底解説!基本から実例まで
MySQLのSUM()関数とは?
MySQLのSUM()関数は、テーブル内の複数レコードにわたる特定のフィールド(カラム)の合計値を求めるために使用される集計関数です。売上の合計や作業量の総数など、数値データの集計処理において非常に頻繁に活用されます。
ここでは、サンプルテーブル「employee_tbl」を使って、SUM()関数の基本的な使い方を解説します。
サンプルテーブルの確認
まず、以下のようなレコードを持つ「employee_tbl」テーブルを用意します。
mysql> SELECT * FROM employee_tbl; +------+------+------------+--------------------+ | id | name | work_date | daily_typing_pages | +------+------+------------+--------------------+ | 1 | John | 2007-01-24 | 250 | | 2 | Ram | 2007-05-27 | 220 | | 3 | Jack | 2007-05-06 | 170 | | 3 | Jack | 2007-04-06 | 100 | | 4 | Jill | 2007-04-06 | 220 | | 5 | Zara | 2007-06-06 | 300 | | 5 | Zara | 2007-02-06 | 350 | +------+------+------------+--------------------+ 7 rows in set (0.00 sec)
このテーブルには、従業員ごとの日付別のタイピングページ数(daily_typing_pages)が記録されています。
SUM()関数で合計値を取得する
それでは、このテーブルから「daily_typing_pages」の合計値を計算してみましょう。以下のようにSUM()関数を使用します。
mysql> SELECT SUM(daily_typing_pages)
-> FROM employee_tbl;
+-------------------------+
| SUM(daily_typing_pages) |
+-------------------------+
| 1610 |
+-------------------------+
1 row in set (0.00 sec)実行結果として、全レコードの「daily_typing_pages」の合計である 1610 が返されました。250 + 220 + 170 + 100 + 220 + 300 + 350 = 1610 となり、正しく集計されていることが確認できます。
GROUP BYと組み合わせた応用例
SUM()関数は、GROUP BY句と組み合わせることで、グループごとの合計値を求めることもできます。例えば、従業員ごとのタイピングページ数の合計を知りたい場合は、以下のようにクエリを記述します。
mysql> SELECT name, SUM(daily_typing_pages)
-> FROM employee_tbl
-> GROUP BY name;
+------+--------------------------+
| name | SUM(daily_typing_pages) |
+------+--------------------------+
| John | 250 |
| Ram | 220 |
| Jack | 270 |
| Jill | 220 |
| Zara | 650 |
+------+--------------------------+
5 rows in set (0.00 sec)このように、GROUP BY句を使うことで、各従業員が入力したページ数の合計を一覧形式で簡単に取得できます。
まとめ
- SUM()関数は、指定したカラムの数値の合計を返す集計関数である
- NULL値は自動的に無視されて計算される
- GROUP BY句と組み合わせれば、グループ単位での合計集計も可能
MySQLでのデータ集計においてSUM()関数は必須の機能です。ぜひ実際のテーブルで試して、使い方に慣れておきましょう。
-
MySQLでSUM()とIF()を組み合わせて条件付き集計を行う方法
はい、MySQLではSUM()とIF()を組み合わせて使用できます。この2つを併用すると、「特定の条件に一致する値だけを数える」「条件ごとに集計する」といった柔軟な処理が可能になります。ここでは、実際にデモテーブルを作成しながら、その使い方を順番に見ていきましょう。 1. デモテーブルを作成する まず、動作確認用のサンプルテーブルを作成します。 mysql> create table DemoTable ( Value int, Value2 int ); Query OK, 0 rows affected (0.51 sec) 2. テーブルにデータを挿入する I
-
MySQLのWHERE句でSUM()関数の結果は使用できる?HAVING句を使った正しい書き方を解説
MySQLでは、SUM()などの集計関数の結果をWHERE句で直接使用することはできません。これは、WHERE句がグループ化の前に行単位で評価されるためです。代わりに、GROUP BYと組み合わせたHAVING句を使うことで、集計結果に基づいた絞り込みが可能になります。 ここからは、実際にサンプルテーブルを作成しながら手順を確認していきましょう。 1. サンプルテーブルの作成 まず、名前と価格を持つテーブルを作成します。 mysql> create table DemoTable ( Name varchar(50), Price int ); Query OK, 0