PERCENTILE_CONT ( expression1 )

4 OLAP の使用

逆分散統計関数では、WITHIN GROUP (ORDER BY) 句を指定する必要があり ます。次に例を示します。

PERCENTILE_CONT ( expression1 )

WITHIN GROUP ( ORDER BY expression2 [ ASC DESC ] )

expression1 の値には、numeric データ型の定数を、0 以上 1 以下の範囲で指定し ます。引数が NULL であれば、“wrong argument for percentile” エラーが返りま す。引数の値が 0 よりも小さいか、1 よりも大きい場合は、“data value out of range” エラーが返ります。

必須の ORDER BY には、パーセンタイル関数の実行の対象となる式と、各グ ループ内でのローのソート順を指定します。この ORDER BY 句は、WITHIN GROUP 句の内部でのみ使用するものであり、SELECT 文の ORDER BY とは 異なります。

WITHIN GROUP 句は、クエリの結果を並べ替えて、関数が結果を計算するた めのデータ・セットを形成します。

expression2 には、カラム参照を含む 1 つの式でソートを指定します。このソー ト式に、複数の式やランク付け統計関数、set 関数、またはサブクエリを指定 することはできません。

ASC DESC のパラメータでは、昇順または降順の順序付けシーケンスを指 定します。昇順がデフォルトです。

逆分散統計関数は、サブクエリ、HAVING 句、ビュー、union で使用すること が可能です。逆分散統計関数は、分析を行わない単純な集合関数が使用される ところであれば、どこでも使用できます。逆分散統計関数は、データ・セット 内の NULL 値を無視します。

PERCENTILE_CONT この例では、PERCENTILE_CONT 関数を使用して、 各地域の自動車販売の 10 番目のパーセンタイル値を求めます。次のような データ・セットを使用します。

sales

region

dealer_name

-----

---------

-----------

900

Northeast

Boston

800

Northeast

Worcester

800

Northeast

Providence

700

Northeast

Lowell

540

Northeast

Natick

500

Northeast

New Haven

450

Northeast

Hartford

800

Northwest

SF

600

Northwest

Seattle

500

Northwest

Portland

400

Northwest

Dublin

500

South

Houston

400

South

Austin

300

South

Dallas

200

South

Dover

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

83

Page 99
Image 99
Sybase 12.7 パフォーマンス&チューニング・ガイド, PERCENTILE_CONT expression1, WITHIN GROUP ORDER BY expression2 ASC | DESC, sales, region