Saltar al contenido

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 soporta el PARTITION BY modificador. Si el ORDER BY no es único dentro del conjunto, cada fila en conflicto se indexa secuencialmente de forma 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 la ORDER BY modificador y apoya 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. El ORDER BY Se requiere un modificador y el PARTITION BY El modificador es opcional y también es compatible. Dependiendo de los modificadores utilizados en la sintaxis, los resultados se ordenarán en consecuencia.

Ejemplos

Para los ejemplos proporcionados a continuación, asumiremos que los siguientes datos están disponibles para consultar:

ID de cliente ID de contacto Añadido
1 1 2023-04-01
1 2 2023-04-02
2 3 2023-04-01
2 3 2023-04-03
  1. ROWNUMBER(ORDER BY AddedOn) devoluciones:

    Número de fila ID de cliente ID de contacto Añadido
    1 1 1 2023-04-01
    3 1 2 2023-04-02
    2 2 3 2023-04-01
    4 2 3 2023-04-03
  2. ROWNUMBER(PARTITION BY CustomerId ORDER BY AddedOn) devoluciones:

    Número de fila ID de cliente ID de contacto Añadido
    1 1 1 2023-04-01
    2 1 2 2023-04-02
    1 2 3 2023-04-01
    2 2 3 2023-04-03
  3. ROWNUMBER(PARTITION BY ContactId, Year(AddedOn) ORDER BY CustomerId, AddedOn) devoluciones:

    Número de fila ID de cliente ID de contacto Añadido
    1 1 1 2023-04-01
    1 1 2 2023-04-02
    1 2 3 2023-04-01
    2 2 3 2023-04-03