Sybase 12.7 manual ランク付け関数, Rank 関数, パフォーマンス&チューニング・ガイド

Models: 12.7

1 212
Download 212 pages 60.16 Kb
Page 91
Image 91

 

 

 

 

4

OLAP の使用

200

Dill

1985-12-06

54800.000

54800.000

200

Powell

1988-10-14

54600.000

109400.000

200

Poitras

1988-11-28

46200.000

155600.000

200

Singer

1989-06-01

34892.000

190492.000

200

Kelly

1989-10-01

87500.000

277992.000

200

Martel

1989-10-16

55700.000

333692.000

200

Sterling

1990-04-29

64900.000

398592.000

200

Chao

1990-05-13

33890.000

432482.000

200

Preston

1990-07-11

37803.000

470285.000

200

Goggin

1990-08-05

37900.000

508185.000

200

Pickett

1993-08-12

47653.000

555838.000

ランク付け関数

ランク付け関数を使用すると、データ・セットの値をランク付けされた順序 のリストにまとめ、今年度出荷された製品の中で売上合計が上位 10 位の製 品名または“15 社以上から受注した営業部員の上位5%” といった質問に答え るクエリを 1 つの SQL 文で作成することができます。ランク付け関数には RANK()DENSE_RANK()PERCENT_RANK()NTILE() などがあり、 PARTITION BY 句と一緒に使用します。

SQL/OLAP では、次の 4 つの関数がランク付け関数として分類されています。

<RANK FUNCTION TYPE> ::=

RANK DENSE RANK PERCENT RANK NTILE

ランク付け関数を使用すると、クエリで指定された順序に基づいて、結果セッ ト内の各ローのランク値を計算することができます。たとえば販売マネージャ が、営業成績が最高または最低の営業部員、販売成績が最高または最低の販売 地域、あるいは売上が最高または最低の製品を調べたい場合があります。この 情報はランク付け関数によって入手できます。

RANK() 関数

RANK 関数は、ORDER BY 句で指定されたカラムについて、ローのパーティ ション内での現在のローのランクを表す数値を返します。パーティション内の 最初のローが 1 位となり、25 のローを含むパーティションでは、パーティショ ン内の最後のローが 25 位となります。RANK は構文変換として指定されてお り、実際に RANK を同等の構文に変換することも、変換を行った場合に返す はずの値と同等の結果を返すこともできます。

次の例に出てくる ws1 は、w1 という名前のウィンドウを定義するウィンドウ 指定を表しています。

RANK() OVER ws

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

75

Page 91
Image 91
Sybase 12.7 manual ランク付け関数, Rank 関数, パフォーマンス&チューニング・ガイド