メインコンテンツまでスキップ
バージョン: 4.x

ROW_NUMBER

説明

ROW_NUMBER()は、パーティション内の各行に一意の連続番号を割り当てるウィンドウ関数です。番号は1から始まり、連続して増加します。RANK()やDENSE_RANK()とは異なり、ROW_NUMBER()は同一の値に対しても異なる番号を割り当て、各行が一意の番号を持つことを保証します。

構文

ROW_NUMBER()

戻り値

1から開始して連続的にインクリメントするBIGINTシーケンス番号を返します。番号は各パーティション内で一意です。

select x, y, row_number() over(partition by x order by y) as rank from int_t;
+-----+-----+------+
| x | y | rank |
| --- | --- | ---- |
| 1 | 1 | 1 |
| 1 | 2 | 2 |
| 1 | 2 | 3 |
| 2 | 1 | 1 |
| 2 | 2 | 2 |
| 2 | 3 | 3 |
| 3 | 1 | 1 |
| 3 | 1 | 2 |
| 3 | 2 | 3 |
+-----+-----+------+
このページでは