Window Functions: Rank() e Dense_rank()
Olá pessoal, espero que estejam todos muito bem! Dando continuidade a série de post sobre Window Functions, hoje irei falar sobre duas funções que são muito úteis no dia a dia, principalmente de quem trabalha com BI, são funções de ranqueamento de dados. Função RANK() : Essa função é um pouco parecida com a função Row_number(), mas com uma diferença crucial, ela retorna o mesmo "id" em casos de empate e os ids podem NÃO ser um sequencial. Como assim? Veja esse exemplo: Vamos ao cenário que será utilizado nos exemplos. Temos uma tabela de departamento, onde temos os departamentos, funcionários e seus salários e queremos fazer algumas consultas. Para esse exemplo, quero ver um rank de quem ganha mais por departamento. Código utlizado: select * ,rnk = RANK() over(partition by department order by salary desc) from #Employees Resultado: Reparem na coluna "RNK", ela faz um ranqueamento dos maiores salários particionado pela coluna "department", o IMPORTANTE...