Função de Banco de Dados mvSQL - RANK()¶
Resumo¶
Numera sequencialmente cada linha dentro de um conjunto, ordenada por uma ou mais colunas, começando em 1. Esta função requer o ORDER BY
modificador e também suporta o PARTITION BY
modificador. Se o ORDER BY
não for único dentro do conjunto, as linhas duplicadas serão indexadas com a mesma classificação, o próximo índice ignorará a lacuna (como as colocações em uma competição).
Sintaxe¶
RANK(ORDER BY <column 1>)
RANK(PARTITION BY <column 2> ORDER BY <column 1>)
Parâmetros¶
Modificador¶
Esta função requer o ORDER BY
modificador e suporta o PARTITION BY
modificador.
Coluna 1¶
Uma referência a uma coluna.
Coluna 2¶
Uma referência a uma coluna.
Devoluções¶
Um número sequencial atribuído a cada linha no conjunto de resultados da consultar. Se houver um conflito, ambos os registros receberão o mesmo número de índice, o próximo registro irá ignorá-los (como colocações em um torneio), o que significa que pode haver lacunas entre os índices. O ORDER BY
modificador é necessário e o PARTITION BY
modificador é opcional e também suportado. Dependendo dos modificadores usados na sintaxe, os resultados serão classificados de acordo.
Exemplos¶
Para os exemplos fornecidos abaixo, assumiremos que os seguintes dados estão disponíveis para consultar:
ID do cliente | ID de contato | AdicionadoEm |
---|---|---|
1 | 1 | 01/04/2023 |
1 | 2 | 02/04/2023 |
2 | 3 | 01/04/2023 |
2 | 3 | 03/04/2023 |
-
RANK(ORDER BY AddedOn)
retorna:Classificação ID do cliente ID de contato AdicionadoEm 1 1 1 01/04/2023 3 1 2 02/04/2023 1 2 3 01/04/2023 4 2 3 03/04/2023 -
RANK(PARTITION BY CustomerId ORDER BY AddedOn)
retorna:Classificação ID do cliente ID de contato AdicionadoEm 1 1 1 01/04/2023 2 1 2 02/04/2023 1 2 3 01/04/2023 2 2 3 03/04/2023 -
RANK(PARTITION BY ContactId, Year(AddedOn) ORDER BY CustomerId, AddedOn)
retorna:Classificação ID do cliente ID de contato AdicionadoEm 1 1 1 01/04/2023 1 1 2 02/04/2023 1 2 3 01/04/2023 2 2 3 03/04/2023