Outdated Version
You are viewing an older version of this section. View current production version.
DENSE_RANK
Ranking function. Returns the rank of the current row within the partition as specified by the order by clause. If two or more rows tie they have the same ranking. The difference between RANK
and DENSE_RANK
is that DENSE_RANK
does not skip values after a tie.
Syntax
DENSE_RANK () OVER (
[PARTITION BY (col | expr), ...]
[ORDER BY (col | expr), ...]
)
Return Type
Integer
Examples
create table example (a int, b int);
insert into example values(1,2),(2,2),(3,3),(4,3);
select a,b, dense_rank() over(order by b) from example;
+------+------+-------------------------------+
| a | b | dense_rank() over(order by b) |
+------+------+-------------------------------+
| 1 | 2 | 1 |
| 2 | 2 | 1 |
| 3 | 3 | 2 |
| 4 | 3 | 2 |
+------+------+-------------------------------+