|
スポンサード リンク
グループ単位に、分散を取得するには、VARIANCE関数を使用する。
分析関数のSTDDEV_POPは、ウィンドウ(window)を操作して、母集団標準偏差を取得します。
分散は、データの散らばり具合を表した統計値で、平均値と各データの値の差を2乗した値の和をデータ数で割った値です。
VARIANCE( 数値項目 ) |
引数で指定した数値項目の、分散を返します。
入力レコードが1行の場合は、0を返します。 |
OVER(
[ PRTITION BY 項目1,
[項目2,・・] ]
ORDER BY 項目1,
[項目2,・・] )
|
VARIANCE関数と一緒に使用します
PRTITION BY句には、グループ化対象項目を指定する
ORDERY BY句には、ソート対象の項目を指定する |
サンプル表「emp」データ
|
SQL> select * from emp;
EMP_ID DEPT_ID EMP_NAME SALARY
------ ------ ---------- ----------
E01 D01 なまえ1 150
E02 D02 なまえ2 300
E03 D03 なまえ3 300
E04 D02 なまえ4 400
E05 D03 なまえ5 500
E06 D03 なまえ6 |
例1) 列「salary」の分散を取得します。
|
SQL> select
2 emp_id, salary,
3 variance( salary )
4 over() as variance
5 from emp;
EMP_ID SALARY VARIANCE
----- ------- ----------
E01 150 17000
E02 300 17000
E03 300 17000
E04 400 17000
E05 500 17000
E06 17000 |
例2) 列「salary」の分散を列「dept_id」別に取得します。
|
SQL> select
2 emp_id,dept_id,salary,
3 variance( salary )
4 over( partition by dept_id ) as variance
5 from emp;
EMP_ID DEPT_ID SALARY VARIANCE
----- ----- ------ ----------
E01 D01 150 0
E02 D02 300 5000
E04 D02 400 5000
E05 D03 500 20000
E06 D03 20000
E03 D03 300 20000 |
スポンサード リンク
|