指定列の平均を求めるにはAVG関数を使用します.
AVG関数の基本構文は以下のようになります.
SELECT AVG(列名)
FROM テーブル名
GROUP BY句を使用することで,同じ値を持つデータごとにグループ化して平均を求めることができます.
SELECT 集計キー1, 集計キー2, ..., AVG(列名1), AVG(列名2), ...
FROM テーブル名
GROUP BY 集計キー1, 集計キー2, ...
注意.
SELECT句には,GROUP BY句で指定した列と集計関数のみを指定することができます.
例として以下のテーブル(従業員マスタ)から従業員の年齢の平均を求めます.
従業員マスタ
従業員コード | 従業員名 | 年齢 | 種別 |
---|---|---|---|
A0001 | チャーリー・ブラウン | 15 | 人間 |
A0002 | ペパーミント・パティ | 15 | 人間 |
B0001 | スヌーピー | 4 | 犬 |
C0001 | ウッドストック | 3 | 鳥 |
従業員マスタの全レコードを対象にして平均を求める場合は以下のようにSQLを書きます. なお以下のサンプルは分かりやすいようにAS句を使用して列に別名をつけています.
SQL
SELECT AVG(年齢) AS 年齢の平均
FROM 従業員マスタ
結果
年齢の平均 |
---|
9.25 |
種別ごとに年齢の平均を求める場合は以下のようにSQLを書きます.
SQL
SELECT AVG(年齢) AS 年齢の平均, 種別
FROM 従業員マスタ
GROUP BY 種別
結果
年齢の平均 | 種別 |
---|---|
15 | 人間 |
4 | 犬 |
3 | 鳥 |
注意.
サンプルで使用するテーブルは説明のため正規化を行っていなかったり,一般的でない列が含まれている場合があります.ご容赦ください.