ROW_NUMBER()
This page is part of MariaDB's Enterprise Documentation.
The parent of this page is: Functions
Topics on this page:
Overview
This window function returns the row number of the current row within its partition. Row number ranges from 1 to number of rows in the partition.
See also: Functions in 10.6 ES, in 10.6 CS, in 10.5 ES, in 10.5 CS, in 10.4 ES, in 10.4 CS, in 10.3 ES, in 10.3 CS, in 10.2 ES, and in 10.2 CS
EXAMPLES
CREATE TABLE t1 (a INT, b INT);
INSERT INTO t1 VALUES
(1,3), (1,5), (8,2), (5,7), (5,6),
(10,1), (6,4), (3,9), (3,9), (7,2),
(7,5), (2,6), (9,10), (9,5), (4,8);
SELECT a, b,
ROW_NUMBER() OVER w AS 'row_number',
RANK() OVER w AS 'rank',
DENSE_RANK() OVER w AS 'dense_rank'
FROM t1
WINDOW w AS (ORDER BY a, b);
+------+------+------------+------+------------+
| a | b | row_number | rank | dense_rank |
+------+------+------------+------+------------+
| 1 | 3 | 1 | 1 | 1 |
| 1 | 5 | 2 | 2 | 2 |
| 2 | 6 | 3 | 3 | 3 |
| 3 | 9 | 4 | 4 | 4 |
| 3 | 9 | 5 | 4 | 4 |
| 4 | 8 | 6 | 6 | 5 |
| 5 | 6 | 7 | 7 | 6 |
| 5 | 7 | 8 | 8 | 7 |
| 6 | 4 | 9 | 9 | 8 |
| 7 | 2 | 10 | 10 | 9 |
| 7 | 5 | 11 | 11 | 10 |
| 8 | 2 | 12 | 12 | 11 |
| 9 | 5 | 13 | 13 | 12 |
| 9 | 10 | 14 | 14 | 13 |
| 10 | 1 | 15 | 15 | 14 |
+------+------+------------+------+------------+
CHANGE HISTORY
Release Series | History |
---|---|
10.6 Enterprise |
|
10.6 Community |
|
10.5 Enterprise |
|
10.5 Community |
|
10.4 Enterprise |
|
10.4 Community |
|
10.3 Enterprise |
|
10.3 Community |
|
10.2 Enterprise |
|
10.2 Community |
|
EXTERNAL REFERENCES
Additional information on this topic may be found in the MariaDB Public Knowledge Base.
Information specific to MariaDB SkySQL can be found on the ROW_NUMBER() page in the SkySQL Documentation.