Función de Base de Datos Mvsql: RowNumber()
Resumen
Numera secuencialmente cada fila dentro de un conjunto, ordenada por una o más columnas, comenzando en 1. Esta función requiere la ORDER BY
modificador y también admite el PARTITION BY
modificador. Si el ORDER BY
no es única dentro del conjunto, cada fila conflictiva se indexa secuencialmente de manera no determinista y puede cambiar entre ejecuciones.
Sintaxis
ROWNUMBER(ORDER BY <column 1>)
ROWNUMBER(PARTITION BY <column 2> ORDER BY <column 1>)
Parámetros
Modificador
Esta función requiere el ORDER BY
modificador y admite el PARTITION BY
modificador.
Columna 1
Una referencia a una columna.
Columna 2
Una referencia a una columna.
Devoluciones
Un número secuencial asignado a cada fila en el conjunto de resultados de la consultar. ORDER BY
Se requiere el modificador y el PARTITION BY
El modificador es opcional y también se admite. Según los modificadores utilizados en la sintaxis, los resultados se ordenarán en consecuencia.
Ejemplos
Para los ejemplos que se ofrecen a continuación, asumiremos que los siguientes datos están disponibles para consultar:
CustomerId | ContactId | Añadido |
---|---|---|
1 | 1 | 2023-04-01 |
1 | 2 | 2023-04-02 |
2 | 3 | 2023-04-01 |
2 | 3 | 2023-04-03 |
-
ROWNUMBER(ORDER BY AddedOn)
devuelve:Número de fila Id. de cliente Id. de contacto Añadido el 1 1 1 2023-04-01 3 1 2 2023-04-02 2 2 3 2023-04-01 4 2 3 2023-04-03 -
ROWNUMBER(PARTITION BY CustomerId ORDER BY AddedOn)
devuelve:Número de fila Id. de cliente Id. de contacto Añadido el 1 1 1 2023-04-01 2 1 2 2023-04-02 1 2 3 2023-04-01 2 2 3 2023-04-03 -
ROWNUMBER(PARTITION BY ContactId, Year(AddedOn) ORDER BY CustomerId, AddedOn)
devuelve:Número de fila Id. de cliente Id. de contacto Añadido el 1 1 1 2023-04-01 1 1 2 2023-04-02 1 2 3 2023-04-01 2 2 3 2023-04-03