ホーム > SQL Server, データベース > SQL SERVER 2008 Tips AVG関数でグループ内の値の平均を出す。

SQL SERVER 2008 Tips AVG関数でグループ内の値の平均を出す。

2009 年 4 月 3 日

SQL SERVER 2008 Tips AVG関数

photo by vintagecottontshirts

SQL Server 2008 で、グループ内の値の平均を出したい場合に使用できます。

使用方法はいたって、シンプルです。

構文

AVG ( [ ALL | DISTINCT ] expression )

引数
ALL
重複行を含むすべての値を対象とします。ALL が既定値です。
DISTINCT
重複行を除外した、結果セットの値を対象とします。
expression
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

SQL Server, データベース , , , ,

  1. コメントはまだありません。
  1. トラックバックはまだありません。