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

DENSE_RANK

説明

DENSE_RANK()は、グループ内でランキングを計算するために使用されるウィンドウ関数です。RANK()とは異なり、DENSE_RANK()はギャップなしで連続したランキングを返します。ランキング値は1から開始され、順次増加します。同じ値がある場合、それらは同じランクを受け取ります。

構文

DENSE_RANK()

戻り値

1から始まるBIGINT型のランキング値を返します。

select x, y, dense_rank() over(partition by x order by y) as rank from int_t;
+-----+-----+------+
| x | y | rank |
| --- | --- | ---- |
| 1 | 1 | 1 |
| 1 | 2 | 2 |
| 1 | 2 | 2 | -- Same values receive the same rank |
| 2 | 1 | 1 |
| 2 | 2 | 2 |
| 2 | 3 | 3 | -- Rankings are consecutive, no gaps |
| 3 | 1 | 1 |
| 3 | 1 | 1 |
| 3 | 2 | 2 |
+-----+-----+------+
このページでは