トップDML集計関数 ≫ 集計関数を使用する(基本)

集計関数を使用する(基本)

集計関数

集計関数は指定された列の様々な値を集計する関数です.列の合計を求めるSUM関数や, 列の最大値を求めるMAX関数などがあります. DBMSによって様々な集計関数が用意されていますが,SQL92/99で定義されている集計関数は以下の5種類です.

集計関数概要
SUM列の合計を計算する
AVG列の平均を計算する
COUNTレコードの数を計算する
MAX列の最大値を計算する
MIN列の最小値を計算する

集計関数は以下のように使用します.

SELECT 集計関数(列名)
FROM テーブル名

GROUP BY

GROUP BY句を使用することで,同じ値を持つデータごとにグループ化して集計を行うことができます.

SELECT 集計キー1, 集計キー2, ...,
    集計関数(列名1), 集計関数(列名2), ...
FROM テーブル名
GROUP BY 集計キー1, 集計キー2, ...

注意.
SELECT句には,GROUP BY句で指定した列と集計関数のみを指定することができます.

SQL サンプル

例として以下のテーブル(従業員マスタ)から従業員の年齢の合計と平均を求めます.

従業員マスタ

従業員コード従業員名年齢種別
A0001チャーリー・ブラウン15人間
A0002ペパーミント・パティ15人間
B0001スヌーピー4
C0001ウッドストック3

全レコードの合計と平均を求める

従業員マスタの全レコードを対象にして合計と平均を求める場合は以下のようにSQLを書きます. なお以下のサンプルは分かりやすいようにAS句を使用して列に別名をつけています.

SQL

SELECT SUM(年齢) AS 年齢の合計, AVG(年齢) AS 年齢の平均
FROM 従業員マスタ

結果

年齢の合計年齢の平均
379.25

グループごとに合計と平均を求める

種別ごとに年齢の合計と平均を求める場合は以下のようにSQLを書きます.

SQL

SELECT SUM(年齢) AS 年齢の合計, AVG(年齢) AS 年齢の平均, 種別
FROM 従業員マスタ
GROUP BY 種別

結果

年齢の合計年齢の平均種別
3015人間
44
33

注意.
サンプルで使用するテーブルは説明のため正規化を行っていなかったり,一般的でない列が含まれている場合があります.ご容赦ください.