Outdated Version

You are viewing an older version of this section. View current production version.

ROW_NUMBER

Ranking function. Returns the number of the current row within its partition.

Syntax

ROW_NUMBER () OVER (
    [PARTITION BY (col | expr), ...] 
    [ORDER BY (col | expr), ...]
)

Return Type

An integer

Examples

create table example (a int, b int);

insert into example values(1,2),(2,2),(3,3),(4,3);

select a,b, row_number() over() from example;
+------+------+---------------------+
| a    | b    | row_number() over() |
+------+------+---------------------+
|    1 |    2 |                   1 |
|    2 |    2 |                   2 |
|    3 |    3 |                   3 |
|    4 |    3 |                   4 |
+------+------+---------------------+

select a,b, row_number() over(partition by b order by a desc) from example;
+------+------+---------------------------------------------------+
| a    | b    | row_number() over(partition by b order by a desc) |
+------+------+---------------------------------------------------+
|    2 |    2 |                                                 1 |
|    1 |    2 |                                                 2 |
|    4 |    3 |                                                 1 |
|    3 |    3 |                                                 2 |
+------+------+---------------------------------------------------+