統計集合関数

4 OLAP の使用

ウィンドウ集合関数の例 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

パフォーマンス&チューニング・ガイド

81

Page 97
Image 97
Sybase 12.7 manual 統計集合関数, パフォーマンス&チューニング・ガイド