Función de Base de Datos Mvsql: DenseRank()
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 único dentro del conjunto, las filas duplicadas se indexan con el mismo rango, el siguiente índice continuará consecutivamente, sin espacios.
Sintaxis
DENSERANK(ORDER BY <column 1>)
DENSERANK(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. Con esta función, no hay espacio entre los índices. 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 |
-
DENSERANK(ORDER BY AddedOn)
devuelve:DenseRank CustomerId ContactId AddedOn 1 1 1 2023-04-01 2 1 2 2023-04-02 1 2 3 2023-04-01 3 2 3 2023-04-03 -
DENSERANK(PARTITION BY CustomerId ORDER BY AddedOn)
devuelve:DenseRank CustomerId ContactId AddedOn 1 1 1 2023-04-01 2 1 2 2023-04-02 1 2 3 2023-04-01 2 2 3 2023-04-03 -
DENSERANK(PARTITION BY ContactId, Year(AddedOn) ORDER BY CustomerId, AddedOn)
devuelve:DenseRank CustomerId ContactId AddedOn 1 1 1 2023-04-01 1 1 2 2023-04-02 1 2 3 2023-04-01 2 2 3 2023-04-03