Sybase IQ 12.7 User Manual

Page of 212
 4 章    OLAP の使用
パフォーマンス&チューニング・ガイド
81
ウィンドウ集合関数の例
 2 
この例のクエリは、給与の額がそれぞれの部署の平
均給与よりも
 1 標準偏差以上高い従業員を表す結果セットを返します。標準偏
差とは、そのデータが平均からどのぐらい離れているかを示す尺度です。
SELECT * FROM (SELECT emp_lname AS E_name, dept_id AS
Dept, CAST(salary AS numeric(10,2) ) AS Sal,
CAST(AVG(Sal) OVER(PARTITION BY dept_id) AS
numeric(10, 2)) AS Average, CAST(STDDEV_POP(Sal)
OVER(PARTITION BY dept_id) AS numeric(10,2)) AS
STD_DEV 
FROM employee 
GROUP BY Dept, E_name, Sal) AS derived_table WHERE
Sal> (Average+STD_DEV ) 
ORDER BY Dept, Sal, E_name;
このクエリの結果セットを次に示します。どの部署にも、給与の額が平均を大
きく上回っている従業員が
 1 人以上いることがわかります。
Employee
Dept
Salary
Average
Std_Dev
--------
----
--------
--------
--------
Lull
100
87900.00
58736.28
16829.59
Sheffield
100
87900.00
58736.28
16829.59
Scott
 100
96300.00
58736.28
16829.59
Sterling
200
64900.00
48390.94
13869.59
Savarino
200
72300.00
48390.94
13869.59
Kelly
200
87500.00
48390.94
13869.59
Shea
300
138948.00
59500.00
30752.39
Blaikie
 400
54900.00
43640.67
11194.02
Morris
400
61300.00
43640.67
11194.02
Evans
400
68940.00
43640.67
11194.02
Martinez
500
55500.80
33752.20
9084.49
従業員
 Scott の給与は 96,300.00 ドルで、所属部署の平均給与は 58,736.28 ドル
です。この部署の標準偏差は
 16,829.00 なので、給与の額が 75,565.88 ドル
(58736.28 + 16829.60 = 75565.88) 未満ならば、平均の 1 標準偏差以内の範囲に
収まります。
Scott の給与 96,300.00 ドルは、この数字を大きく超えています。
統計集合関数
ANSI SQL/OLAP 拡張機能には、数値データの統計的分析を行うための集合関
数がこの他にも数多く用意されています。これには、分散、標準偏差、相関、
直線回帰を計算するための関数も含まれます。
標準偏差と分散
SQL/OLAP の一般的な関数の中には、STDDEV、STDDEV_POP、
STDDEV_SAMP、VARIANCE、VAR_POP、VAR_SAMP のように、
1 つの引数を取る関数があります。
<SIMPLE WINDOW AGGREGATE FUNCTION TYPE> ::=
<BASIC AGGREGATE FUNCTION TYPE>
STDDEV | STDDEV_POP | STDDEV_SAMP
VARIANCE | VARIANCE_POP | VARIANCE_SAMP