Sobes.tech
Middle

O que são funções de janela em SQL e para que são usadas?

sobes.tech IA

Resposta da IA

As funções de janela (window functions) em SQL são funções que realizam cálculos sobre um conjunto de linhas relacionadas com a linha atual, sem agrupar os resultados numa única linha, como acontece com as funções agregadas.

Permitem, por exemplo, calcular somas móveis, classificar linhas, calcular totais acumulados, médias, etc., mantendo o número original de linhas no resultado.

Exemplo de uso da função de janela ROW_NUMBER():

SELECT
    employee_id,
    department_id,
    salary,
    ROW_NUMBER() OVER (PARTITION BY department_id ORDER BY salary DESC) AS rank_in_dept
FROM employees;

Aqui, para cada funcionário, é calculado o seu ranking por salário dentro do departamento, mantendo todas as linhas.

As funções de janela são úteis para análise, relatórios e cálculos complexos onde é necessário ver o contexto de cada linha em relação às outras.