MySQL
 Computer >> コンピューター >  >> プログラミング >> MySQL

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()関数は必須の機能です。ぜひ実際のテーブルで試して、使い方に慣れておきましょう。

  1. 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

  2. MySQLのWHERE句でSUM()関数の結果は使用できる?HAVING句を使った正しい書き方を解説

    MySQLでは、SUM()などの集計関数の結果をWHERE句で直接使用することはできません。これは、WHERE句がグループ化の前に行単位で評価されるためです。代わりに、GROUP BYと組み合わせたHAVING句を使うことで、集計結果に基づいた絞り込みが可能になります。 ここからは、実際にサンプルテーブルを作成しながら手順を確認していきましょう。 1. サンプルテーブルの作成 まず、名前と価格を持つテーブルを作成します。 mysql> create table DemoTable ( Name varchar(50), Price int ); Query OK, 0