Sybase IQ 12.7 User Manual

Page of 212
 4 章    OLAP の使用
パフォーマンス&チューニング・ガイド
79
Samuels
37400.000
M
19
Singer
34892.000
M
20
Chao
33890.000
M
21
ランク付けの例
 3 
この例では、カリフォルニアおよびテキサスの女性従業員を
取得し、給与を基準として降順にランク付けしています。累積和を降順で示す
ために、
PERCENT_RANK 関数を使用しています。
SELECT emp_lname, salary, sex, CAST(PERCENT_RANK() OVER
(ORDER BY salary DESC) AS numeric (4, 2)) AS RANK 
FROM employee WHERE state IN ('CA', 'TX') AND sex ='F'
ORDER BY salary DESC;
このクエリの結果セットを次に示します。
emp_lname
salary
sex
percent
---------
---------
---
----------
Savarino
72300.000
F
0.00 
Smith
51411.000
F
0.33
Clark
45000.000
F
0.66
Garcia
39800.000
F
1.00
ランク付けの例
 4 
PERCENT_RANK 関数を使用して、データ・セットにおけ
る上位または下位のパーセンタイルを調べることができます。この例のクエリ
は、給与の額がデータ・セットの上位
 5% に入る男性従業員を返します。
SELECT * FROM (SELECT emp_lname, salary, sex,
CAST(PERCENT_RANK() OVER (ORDER BY salary DESC) as numeric 
(4, 2)) AS percent 
FROM employee WHERE state IN ('MA') AND sex ='F' ) AS
DT where percent > 0.5 
ORDER BY salary DESC;
このクエリの結果セットを次に示します。
emp_lname
salary
sex
percent
---------
----------
---
---------
Whitney
45700.000
F
0.51
Barletta
45450.000
F
0.55
Higgins
43700.000
F
0.59
Siperstein
39875.500
F
0.62
Coe
36500.000
F
0.66
Espinoza
36490.000
F
0.70
Wetherby
35745.000
F
0.74
Braun
34300.000
F
0.77
Butterfield
34011.000
F
0.81
Bigelow
31200.000
F
0.85
Bertrand
29800.000
F
0.88
Lambert
29384.000
F
0.92
Kuo
28200.000
F
0.96
Romero
27500.000
F
1.00