Sybase 12.7 Home Theater System User Manual


 
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 の一般的な関数の中には、STDDEVSTDDEV_POP
STDDEV_SAMPVARIANCEVAR_POPVAR_SAMP のように、
1 つの引数を取る関数があります。
<SIMPLE WINDOW AGGREGATE FUNCTION TYPE> ::=
<BASIC AGGREGATE FUNCTION TYPE>
| STDDEV | STDDEV_POP | STDDEV_SAMP
| VARIANCE | VARIANCE_POP | VARIANCE_SAMP