Sybase 12.7 Manual De Usuario

Descargar
Página de 212
 1 章    データベース・テーブルからのデータの選択
パフォーマンス&チューニング・ガイド
17
分析データの取得
ここでは、分析情報を返すクエリを構築する方法について説明します。統計関
数には、ランク付けと逆分散統計の
 2 種類があります。ランク付け統計関数
は、グループ内の項目をランク付けしたり、分散統計を計算したり、結果セッ
トを複数のグループに分割したりします。逆分散統計関数は、
K- 理論パーセ
ンタイル値を返します。これは、ひとまとまりのデータの値として許容し得る
しきい値を決定する際に使用します。
ランク分析関数には、
RANK、DENSE_RANK、PERCENT_RANK、NTILE が
あります。逆分散統計関数には、
PERCENTILE_CONT と PERCENTILE_DISC
があります。
たとえば、自動車販売店の販売状況を調べたいとします。
NTILE 関数で、各販
売店が販売した車の台数に基づいて、販売店を
 4 つのグループに分類します。
ntile = 1 になっているのは、車の販売台数で上位 25% までのディーラです。
SELECT dealer_name, sales,
NTILE(4) OVER ( ORDER BY sales DESC )
FROM carSales;
dealer_name
sales
ntile
Boston
1000
1
Worcester
950
1
Providence
950
1
SF
940
1
Lowell
900
2
Seattle
900
2
Natick
870
2
New Haven
850
2
Portland
800
3
Houston
780
3
Hartford
780
3
Dublin
750
3
Austin
650
4
Dallas
640
4
Dover
600
4
販売台数で上位
 10% の販売店を調べるには、この例の SELECT 文で NTILE(10)
を指定します。同様に、販売台数で
 50% の販売店を調べるには、NTILE(2) を指
定します。
NTILE はクエリ結果を指定された数のバケットに分割し、バケット内の各ロー
にバケット番号を割り当てるランク分析関数です。結果セットは
 10 個 ( 十分
位数
)、4 個 ( 四分位数 )、その他の数のグループに分割できます。
ランク分析関数では、
OVER (ORDER BY)  句を指定する必要があります。
ORDER BY 句は、ランク付けを実行するパラメータと、各グループ内でロー
をソートする順序を指定します。この
 ORDER BY 句は、OVER 句の中だけで
使用されるもので、
SELECT の ORDER BY とは異なります。