🚀 Window Functions no SQL: Dominando Análises Avançadas
Como prometido no post de ontem, trago hoje um conteúdo especial sobre as Window Functions (WF) do SQL! 👇
Se você trabalha com bancos de dados, provavelmente já precisou calcular médias móveis, rankings ou totais acumulados sem perder detalhes das linhas originais. E agora, Daniel, o que fazer? É aí que entram as Window Functions!
Diferente das funções agregadas comuns (SUM(), AVG(), COUNT()), que reduzem os dados a um único resultado, as Window Functions permitem fazer cálculos sobre um conjunto de linhas sem alterar a granularidade da consulta.
🔎 Principais Window Functions:
✔️ ROW_NUMBER() – Numera as linhas dentro de uma partição.
✔️ RANK() e DENSE_RANK() – Criam rankings, respeitando empates.
✔️ LEAD() e LAG() – Permitem acessar valores da linha anterior ou seguinte.
✔️ SUM() OVER() – Faz somas acumuladas dentro de uma partição.
💡 Vamos de exemplo prático? Manteremos o exemplo do post de ontem.
Na consulta abaixo, utilizamos SUM() OVER(ORDER BY order_date ASC) para calcular o total acumulado de vendas por dia, sem perder a granularidade dos dados. Confira na imagem! Com o resultado, geramos:
◾ order_date: Data do pedido
◾ valor_total: Total de vendas no dia
◾ valor_acumulado: Soma acumulada das vendas ao longo do tempo
🔽 Nesse exemplo, é claramente perceptível o poder das Window Functions para análises avançadas. Se você ainda não as usa no dia a dia, recomendo explorar essa poderosa arma no mundo dos dados.
💬 Já conhecia esse recurso do SQL? Qual WF você mais usa? Compartilha aqui nos comentários!
#SQL #AnáliseDeDados #Analytics #WindowFunctions