SQLにおける集計関数とは、複数行への操作に対して、一つの結果を返す関数のことです。
例えば、行の数を返すCOUNT関数や、最大最小値を返すMAX,MIN関数、平均値を返すAVG関数などがあります。
それでは、それぞれ詳しく見ていきましょう。
代表的な集計関数
COUNT関数
COUNT(列名)で、指定した列の行数を取得します。
注意点は、NULLの行はカウントされないということです。COUNT(*)とした場合は、NULLもカウントされます。
【構文】
SELECT COUNT(列名) FROM テーブル名 WHERE 条件;
(例)Employee表の中から、部署IDが02の人の数を取得する。
SELECT COUNT(*) FROM Employee WHERE Department_ID = 02;
Employee_ID | Employee_Name | Department_ID | Phone | Salary |
---|---|---|---|---|
0001 | 鈴木 一郎 | 01 | 1111-1111 | 10000 |
0002 | 鈴木 二郎 | 02 | 2222-2222 | 18000 |
0003 | 鈴木 三郎 | 02 | 3333-3333 | 25000 |
0004 | 鈴木 四郎 | 03 | 4444-4444 | 9000 |
0005 | 鈴木 五郎 | 03 | 5555-5555 | 20000 |

COUNT(*) |
---|
2 |
MAX関数
MAX(列名)で、指定した列内の最大値を取得します。
【構文】
SELECT MAX(列名) FROM テーブル名 WHERE 条件;
(例)Employee表の中から、給料の最大値を取得する。
SELECT MAX(Salary) FROM Employee;
Employee_ID | Employee_Name | Department_ID | Phone | Salary |
---|---|---|---|---|
0001 | 鈴木 一郎 | 01 | 1111-1111 | 10000 |
0002 | 鈴木 二郎 | 02 | 2222-2222 | 18000 |
0003 | 鈴木 三郎 | 02 | 3333-3333 | 25000 |
0004 | 鈴木 四郎 | 03 | 4444-4444 | 9000 |
0005 | 鈴木 五郎 | 03 | 5555-5555 | 20000 |

MAX(Salary) |
---|
25000 |
MIN関数
MIN(列名)で、指定した列内の最小値を取得します。
【構文】
SELECT MIN(列名) FROM テーブル名 WHERE 条件;
(例)Employee表の中から、給料の最小値を取得する。
SELECT MIN(Salary) FROM Employee;
Employee_ID | Employee_Name | Department_ID | Phone | Salary |
---|---|---|---|---|
0001 | 鈴木 一郎 | 01 | 1111-1111 | 10000 |
0002 | 鈴木 二郎 | 02 | 2222-2222 | 18000 |
0003 | 鈴木 三郎 | 02 | 3333-3333 | 25000 |
0004 | 鈴木 四郎 | 03 | 4444-4444 | 9000 |
0005 | 鈴木 五郎 | 03 | 5555-5555 | 20000 |

MIN(Salary) |
---|
9000 |
AVG関数
AVG(列名)で、指定した列内の平均値を取得します。
【構文】
SELECT AVG(列名) FROM テーブル名 WHERE 条件;
(例)Employee表の中から、給料の平均値を取得する。
SELECT AVG(Salary) FROM Employee;
Employee_ID | Employee_Name | Department_ID | Phone | Salary |
---|---|---|---|---|
0001 | 鈴木 一郎 | 01 | 1111-1111 | 10000 |
0002 | 鈴木 二郎 | 02 | 2222-2222 | 18000 |
0003 | 鈴木 三郎 | 02 | 3333-3333 | 25000 |
0004 | 鈴木 四郎 | 03 | 4444-4444 | 9000 |
0005 | 鈴木 五郎 | 03 | 5555-5555 | 20000 |

AVG(Salary) |
---|
16400 |
まとめ
集計関数を使うことで、取得するデータの計算やカウントが容易に行えます。
今回説明した関数や、他で説明するグループ化などを用いて、データを整理する力を磨きましょう。