Middle
Como dividir os dados em grupos usando funções de janela em SQL?
sobes.tech IA
Resposta da IA
As funções de janela em SQL permitem realizar cálculos em grupos de linhas, sem reduzir o resultado a uma única linha, como acontece com GROUP BY. Elas operam com um conjunto de linhas (janela) definido para cada linha.
Para dividir os dados em grupos e aplicar funções de janela, usa-se a construção OVER (PARTITION BY ...). Por exemplo:
SELECT
employee_id,
department_id,
salary,
RANK() OVER (PARTITION BY department_id ORDER BY salary DESC) AS salary_rank
FROM employees;
Aqui, os dados são divididos em grupos por department_id, e dentro de cada grupo, calcula-se a classificação salarial.
Dessa forma, as funções de janela permitem analisar os dados por grupos, mantendo todas as linhas da tabela original.