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)

 

ROW_NUMBER 関数 [その他]

各ローにユニークな番号を割り当てます。この関数は NUMBER 関数の代わりに使用できます。

構文
ROW_NUMBER( ) 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

次の例は、ニューヨークとユタの各従業員のユニークなロー番号を示す結果セットを返します。クエリは Salary の降順に配列されるため、最初のロー番号は、データ・セット内で最も給与の高い従業員に割り当てられます。2 人の従業員の給与が同一ですが、2 人の従業員にはユニークなロー番号が割り当てられるため、同順は解決されません。

SELECT Surname, Salary, State,
ROW_NUMBER() 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 8
Driscoll 48023.690 UT 9
Hildebrand 45829.000 UT 10
... ... ... ...
Lynch 24903.000 UT 19