Saltar al contenido

¡Transforma tus conexiones en dinero para el final del año con nuestro nuevo Programa de Indicación de Clientes! Descubre más

Esta documentación es para la versión 4 y posteriores de App Builder, el nuevo nombre de Vinyl. Accede a la documentación de Vinyl aquí.

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 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 omitirá el espacio (como las posiciones 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 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. Si hay un conflicto, ambos registros obtienen el mismo número de índice, el siguiente registro los omitirá (como las posiciones en un torneo), lo que significa que puede haber espacios 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
  1. RANK(ORDER BY AddedOn)devuelve:

    Rango CustomerId ContactId AddedOn
    1 1 1 2023-04-01
    3 1 2 2023-04-02
    1 2 3 2023-04-01
    4 2 3 2023-04-03
  2. RANK(PARTITION BY CustomerId ORDER BY AddedOn)devuelve:

    Rango 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
  3. RANK(PARTITION BY ContactId, Year(AddedOn) ORDER BY CustomerId, AddedOn)devuelve:

    Rango 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