Sybase 12.7 Home Theater System User Manual


 
4 OLAP の使用
パフォーマンス&チューニング・ガイド 75
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