Sybase 12.7 manual 分析データの取得, パフォーマンス&チューニング・ガイド

Models: 12.7

1 212
Download 212 pages 60.16 Kb
Page 33
Image 33
分析データの取得

1 章 データベース・テーブルからのデータの選択

分析データの取得

ここでは、分析情報を返すクエリを構築する方法について説明します。統計関 数には、ランク付けと逆分散統計の 2 種類があります。ランク付け統計関数 は、グループ内の項目をランク付けしたり、分散統計を計算したり、結果セッ トを複数のグループに分割したりします。逆分散統計関数は、K- 理論パーセ ンタイル値を返します。これは、ひとまとまりのデータの値として許容し得る しきい値を決定する際に使用します。

ランク分析関数には、RANKDENSE_RANKPERCENT_RANKNTILE が あります。逆分散統計関数には、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 とは異なります。

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

17

Page 33
Image 33
Sybase 12.7 manual 分析データの取得, パフォーマンス&チューニング・ガイド