Sybase 12.7 manual パフォーマンス&チューニング・ガイド, 第 4 章 OLAP の使用, emp_lname, salary, percent

Models: 12.7

1 212
Download 212 pages 60.16 Kb
Page 95
Image 95
percent

4 OLAP の使用

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

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

79

Page 95
Image 95
Sybase 12.7 manual パフォーマンス&チューニング・ガイド, 第 4 章 OLAP の使用, emp_lname, salary, percent