SQL SERVER 2008 Tips AVG関数でグループ内の値の平均を出す。
photo by vintagecottontshirts
ALL
DISTINCT
expression
対象となる値
エラーが返される条件
SQL Server 2008 で、グループ内の値の平均を出したい場合に使用できます。
使用方法はいたって、シンプルです。
構文
AVG ( [ ALL | DISTINCT ] expression )
- 引数
- 重複行を含むすべての値を対象とします。ALL が既定値です。
- 重複行を除外した、結果セットの値を対象とします。
- AVG関数で平均を出したい対象項目を指定します。
解説
- 対象データ値がNull値の場合は、無視されます。
- 合計が戻り値のデータ型の最大値を超える場合
AVG関数を使用する例
SUM 関数と AVG 関数を使用して計算する
例:成績テーブルから、ある生徒の平均点と、合計点を取得。
SELECT AVG(点数)as '平均点', SUM (点数) as '合計点' FROM 成績 WHERE 生徒_ID = 30;
GROUP BY 句を伴う SUM 関数と AVG 関数を使用する
成績テーブルから、クラス別生徒の平均点と、合計点を取得。
SELECT クラス番号, AVG(点数)as '平均点', SUM(点数) '合計点' FROM 成績 GROUP BY クラス番号;
DISTINCT を伴う AVG を使用する
成績テーブルから、同じ点数は除外した平均点を取得。
(これは、たとえがおかしい…こんな計算意味ないな~)
SELECT AVG(DISTINCT 点数) FROM 成績;
DISTINCT を伴わない AVG を使用する
一番、単純な式です。
成績テーブルから、平均点を取得します。
SELECT AVG(点数) FROM 成績;
関連するエントリー
- None Found