SQL道場 集計関数 VAR_POP/VARP関数
SQLで母集団分散を算出するVAR_POP/VARP関数について記載しています。
対応データベース:SQLServer Oracle Access
VAR_POP/VARP関数の文法
SELECT VAR_POP(列名) FROM テーブル
SELECT VARP(列名) FROM テーブル
引数 Arguments | 列名 Column name | |
返値 return value | 数値型 numeric type | 数値型 分散 numerical dispersion |
OracleはVAR_POP関数により指定されたグループの母集団分散を算出します。SQL Server、AccessはVARP関数により指定されたグループの母集団分散を算出します。また、いずれの場合もGROUP BY句と併せて指定するとGROUP BYで指定した列のデータ毎の母集団分散を算出します。
実行例
社員テーブル
社員名(EMP_NAME) | 年齢(EMP_AGE) | 性別(EMP_SEX) | 時給(EMP_SALARY) |
---|---|---|---|
山田太郎 | 35 | 男 | 1,000 |
鈴木花子 | 20 | 女 | 1,500 |
竹下次郎 | 30 | 男 | 2,500 |
佐藤梅子 | 40 | 女 | 800 |
ジュン鎌田 | 23 | 男 | 800 |
田中誠二 | 20 | 男 | 2,500 |
SQLServerの実行例
/* SQLServer 時給の母集団分散を算出するサンプル */
SELECT VARP(EMP_SALARY) FROM [testdb].[dbo].[MST_EMPLOYEE];

/* SQLServer 年齢ごとに母集団分散を算出するサンプル */
SELECT EMP_AGE,VARP(EMP_SALARY) FROM [testdb].[dbo].[MST_EMPLOYEE] GROUP BY EMP_AGE;
