SQL道場 集計関数 VAR/VARIANCE関数

SQLで分散を算出するVAR/VARIANCE関数について記載しています。

対応データベース:SQLServer MySQL Oracle PostgreSQL DB2 Access

VAR/VARIANCE関数の文法

SELECT VAR(列名) FROM テーブル
SELECT VARIANCE(列名) FROM テーブル
引数
Arguments
列名
Column name
返値
return value
数値型
numeric type
[数値型] 分散
[numerical] dispersion

SQL Server、AccessはVAR関数により指定されたグループの分散を算出します。Oracle、PostgreSQL、DB2はVARIANCE関数により指定されたグループの分散を算出します。DB2ではVAR、VARIANCEのいずれも母集団分散を算出します。また、いずれの場合もGROUP BY句と併せて指定するとGROUP BYで指定した列のデータ毎の分散を算出します。

実行例

社員テーブル

社員名(EMP_NAME)年齢(EMP_AGE)性別(EMP_SEX)時給(EMP_SALARY)
山田太郎351,000
鈴木花子201,500
竹下次郎302,500
佐藤梅子40800
ジュン鎌田23800
田中誠二202,500

MySQLの実行例

/* MySQL 時給の分散を算出するサンプル */

SELECT VARIANCE(EMP_SALARY) FROM testdb.MST_EMPLOYEE;

SQLServerの実行例

/* SQLServer 時給の分散を算出するサンプル */
SELECT VAR(EMP_SALARY) FROM [testdb].[dbo].[MST_EMPLOYEE];