Este tutorial deve se aprofundar em como a função densa do MySQL funciona e como podemos usá -lo em várias operações de banco de dados. Se você deseja acompanhar este tutorial, considere baixar o banco de dados de amostra Sakila a partir do recurso fornecido abaixo:
https: // dev.mysql.com/doc/índice-outro.html
Uso básico
A função mysql dense_rank () exibe as fileiras de uma linha dentro de uma partição sem lacunas. As fileiras das linhas aumentam em um valor de 1 do valor de classificação exclusiva da linha anterior.
A sintaxe geral da função dense_rank () é como:
Selecione col1 dense_rank () sobre (partição por expr ordem por expr [asc | desc]) rank_col_name de tb_nameVamos examinar a sintaxe de consulta acima mais de perto.
A função dense_rank () se vincula à cláusula de seleção, que exibirá as fileiras das linhas da tabela especificada.
O dense_rank () sobre as seções retornam o resultado da função dense_rank () e a saída mantida no nome da coluna especificado.
A cláusula de partição por. A função dense_rank () é aplicada a cada partição.
Finalmente, a Ordem por seção especifica a ordem das linhas definidas em cada partição.
Exemplo de uso de uso
Vamos usar um banco de dados de amostra para ilustrar como podemos usar a função dense_rank (). Para este exemplo, usaremos o banco de dados Sakila e, mais especificamente, a tabela de filmes no banco de dados Sakila.
Usando a função dense_rank (), podemos classificar os filmes por sua taxa de aluguel, conforme mostrado na consulta abaixo:
Use Sakila;Devido à enorme quantidade de dados no banco de dados Sakila, reorganizarei a saída para facilitar a leitura e a ilustração.
A saída está abaixo:
Se você observar atentamente a saída acima, notará que a saída resultante varia da classificação 1 a 3, o que corresponde aos valores da taxa de aluguel na tabela de filme. Os valores do rate_rate são:
No exemplo acima, usamos a cláusula de partição por dividir os conjuntos resultantes em várias partições, neste caso, release_year.
Em seguida, usamos a ordem MySQL pela declaração para ordenar os filmes pela taxa de aluguel em ordem crescente. Finalmente, aplicamos a função dense_rank () em cada partição especificada na ordem por declaração.
Conclusão
Neste tutorial, explicamos como a função dense_rank () funciona em um banco de dados e usamos um exemplo do mundo real para ilustrar como usá-lo.
Você pode aprender mais sobre dense_rank () e outras funções de janela do recurso fornecido abaixo:
https: // dev.mysql.com/doc/refman/8.0/pt/Window Functions.html