ロー X が関数の引数と ORDER BY 指定で定義される場合、PERCENT_RANK 関数は、グループのロー数で割ったロー X - 1 のランクを計算します。
PERCENT_RANK( ) OVER ( window-spec )
window-spec : 以下の備考を参照します。
PERCENT_RANK 関数は、0 ~ 1 の DOUBLE 値を返します。
window-spec の要素は、関数構文の中 (インライン) に指定するか、または SELECT 文の WINDOW 句と組み合わせて指定できます。Window 関数として使用する場合、ORDER BY 句を指定する必要があります。また PARTITION BY 句を指定できますが、ROWS 句または RANGE 句は指定できません。WINDOW 句の window-spec 定義を参照してください。
SELECT 文での Window 関数の使用方法や実例については、Window 関数を参照してください。
SQL/2003 SQL/OLAP 機能 T612
次の例は、ニューヨークの従業員の給与ランキングを性別ごとに示す結果セットを返します。結果は、降順にランキングされ、性別ごとに分けられます。
SELECT DepartmentID, Surname, Salary, Sex, PERCENT_RANK() OVER (PARTITION BY Sex ORDER BY Salary DESC) "Rank" FROM Employees WHERE State IN ('NY'); |
DepartmentID | Surname | Salary | Sex | Rank |
---|---|---|---|---|
200 | Martel | 55700.000 | M | 0 |
100 | Guevara | 42998.000 | M | 0.333333333 |
100 | Soo | 39075.000 | M | 0.666666667 |
400 | Ahmed | 34992.000 | M | 1 |
300 | Davidson | 57090.000 | F | 0 |
400 | Blaikie | 54900.000 | F | 0.333333333 |
100 | Whitney | 45700.000 | F | 0.666666667 |
400 | Wetherby | 35745.000 | F | 1 |
Copyright © 2009, iAnywhere Solutions, Inc. - SQL Anywhere 11.0.1 |