MySQL DENSE_RANK Function

Summary: neste tutorial, você aprenderá sobre a função MySQL DENSE_RANK() e como aplicá-la para encontrar a classificação da linha em uma partição ou conjunto de resultados.

Introdução à função MySQL DENSE_RANK

The DENSE_RANK() é uma função de janela que atribui uma classificação a cada linha dentro de uma partição ou conjunto de resultados sem lacunas nos valores de classificação.

A classificação de uma linha é aumentada em um a partir do número de valores de classificação distintos que vêm antes da linha.

A sintaxe da função DENSE_RANK() é a seguinte:

Code language: SQL (Structured Query Language) (sql)

Nesta sintaxe:

  • Primeiro, a cláusula PARTITION BY divide os conjuntos de resultados produzidos pela cláusula FROM em partições. A função DENSE_RANK() é aplicada a cada partição.
  • Segundo, a cláusula ORDER BY especifica a ordem das linhas em cada partição em que a função DENSE_RANK() opera.

Se uma partição tiver duas ou mais linhas com o mesmo valor de classificação, a cada uma dessas linhas será atribuída a mesma classificação.

Desse modo como a função RANK(), a função DENSE_RANK() sempre retorna valores de classificação consecutivos.

>

Ponha que temos uma tabela t com alguns exemplos de dados como segue:

Code language: SQL (Structured Query Language) (sql)

A seguinte declaração usa a função DENSE_RANK() para atribuir um rank a cada linha:

Code language: SQL (Structured Query Language) (sql)

Aqui está a saída:

MySQL DENSE_RANK Function Example

MySQL DENSE_RANK() function example

Usaremos a tabela sales criada no tutorial da função window para a demonstração.

tabela de vendas

A seguinte declaração usa a função DENSE_RANK() para classificar os funcionários de vendas por valor de venda.

Code language: SQL (Structured Query Language) (sql)

A saída é a seguinte:

MySQL DENSE_RANK - Atribuir Rank aos funcionários de vendas

Neste exemplo:

  • Primeiro, a cláusula PARTITION BY divide os conjuntos de resultados em partições usando o ano fiscal.
  • Segundo, a cláusula ORDER BY especificou a ordem dos funcionários de vendas por vendas em ordem decrescente.
  • Terceiro, a função DENSE_RANK() é aplicada a cada partição com a ordem das linhas especificada pela cláusula ORDER BY.

Neste tutorial, você aprendeu como usar a função MySQL DENSE_RANK() para classificar linhas em cada partição de um conjunto de resultados.

  • Este tutorial foi útil?
  • Sim Não

Deixe uma resposta

O seu endereço de email não será publicado.