Middle
¿Cómo dividir los datos en grupos usando funciones de ventana en SQL?
sobes.tech AI
Respuesta de la IA
Las funciones de ventana en SQL permiten realizar cálculos en grupos de filas sin reducir el resultado a una sola fila, como ocurre con GROUP BY. Trabajan con un conjunto de filas (ventana) definido para cada fila.
Para dividir los datos en grupos y aplicar funciones de ventana, se utiliza la construcción OVER (PARTITION BY ...). Por ejemplo:
SELECT
employee_id,
department_id,
salary,
RANK() OVER (PARTITION BY department_id ORDER BY salary DESC) AS salary_rank
FROM employees;
Aquí, los datos se dividen en grupos por department_id, y dentro de cada grupo se calcula el rango salarial.
De esta manera, las funciones de ventana permiten analizar datos por grupos, manteniendo todas las filas de la tabla original.