Click here to view and discuss this page in DocCommentXchange. In the future, you will be sent there automatically.

SQL Anywhere 11.0.1 (日本語) » SQL Anywhere サーバ - SQL リファレンス » SQL の使用 » SQL 関数 » SQL 関数 (P ~ Z)

 

RANK 関数 [ランキング]

値のグループ内でのランクの値を計算します。同順の場合、RANK 関数はランキング・シーケンス内にギャップを残します。

構文
RANK( ) OVER ( window-spec )
window-spec : 以下の備考を参照します。
戻り値

INTEGER

備考

window-spec の要素は、関数構文の中 (インライン) に指定するか、または SELECT 文の WINDOW 句と組み合わせて指定できます。Window 関数として使用する場合、ORDER BY 句を指定する必要があります。また PARTITION BY 句を指定できますが、ROWS 句または RANGE 句は指定できません。WINDOW 句window-spec 定義を参照してください。

SELECT 文での Window 関数の使用方法や実例については、Window 関数を参照してください。

参照
標準と互換性
  • SQL/2003   SQL/OLAP 機能 T612

次の例は、ユタとニューヨークの従業員の給与を降順にランキングします。7 番目と 8 番目の従業員は給与が同一であるため、どちらも 7 位にランキングされることに注意してください。これに続く従業員は 9 位にランキングされ、ランキング・シーケンスにギャップが残されます (8 位のランキングはありません)。

SELECT Surname, Salary, State,
RANK() OVER (ORDER BY Salary DESC) "Rank"
FROM Employees WHERE State IN ('NY','UT');
Surname Salary State Rank
Shishov 72995.000 UT 1
Wang 68400.000 UT 2
Cobb 62000.000 UT 3
Morris 61300.000 UT 4
Davidson 57090.000 NY 5
Martel 55700.000 NY 6
Diaz 54900.000 UT 7
Blaikie 54900.000 NY 7
Driscoll 48023.690 UT 9
Hildebrand 45829.000 UT 10
Whitney 45700.000 NY 11
... ... ... ...
Lynch 24903.000 UT 19