|
スポンサード リンク
グループ単位に、標準偏差を取得するには、STDDEV関数を使用する。
分析関数のSTDDEVは、ウィンドウ(window)を操作して、標準偏差を取得します。
標準偏差は、データの散らばり具合を表した統計値になります。
標準偏差の値が小さいほど平均値の近くにデータが集まっていることになります。
STDDEV( 数値項目 ) |
引数で指定した数値項目の、標準偏差を返します。 |
OVER(
[ PRTITION BY 項目1,
[項目2,・・] ]
ORDER BY 項目1,
[項目2,・・] )
|
STDDEV関数と一緒に使用します
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 stddev( salary )
4 over() as stddev
5 from emp;
EMP_ID SALARY STDDEV
----- ------- ----------
E01 150 130.384048
E02 300 130.384048
E03 300 130.384048
E04 400 130.384048
E05 500 130.384048
E06 130.384048 |
例2) 列「salary」の標準偏差を列「dept_id」別に取得します。
|
SQL> select
2 emp_id,dept_id,salary,
3 stddev( salary )
4 over( partition by dept_id ) as stddev
5 from emp;
EMP_ID DEPT_ID SALARY STDDEV
----- ----- ------- ----------
E01 D01 150 0
E02 D02 300 70.7106781
E04 D02 400 70.7106781
E05 D03 500 141.421356
E06 D03 141.421356
E03 D03 300 141.421356
|
スポンサード リンク
|