Función de Base de Datos Mvsql: RANK()¶
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, las filas duplicadas se indexan con la misma clasificación, el siguiente índice omitirá el espacio (como las ubicaciones en una competencia).
Sintaxis¶
RANK(ORDER BY <column 1>)
RANK(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. Si hay un conflicto, ambos registros obtienen el mismo número de índice, el siguiente registro los omitirá (como las ubicaciones en un torneo), lo que significa que puede haber espacios entre los índices. 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 |
-
RANK(ORDER BY AddedOn)
devoluciones:Clasificación ID de cliente ID de contacto Añadido 1 1 1 2023-04-01 3 1 2 2023-04-02 1 2 3 2023-04-01 4 2 3 2023-04-03 -
RANK(PARTITION BY CustomerId ORDER BY AddedOn)
devoluciones:Clasificación 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 -
RANK(PARTITION BY ContactId, Year(AddedOn) ORDER BY CustomerId, AddedOn)
devoluciones:Clasificación 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