Sobes.tech
Middle

¿Qué son las funciones de ventana en SQL y para qué se utilizan?

sobes.tech AI

Respuesta de la IA

Las funciones de ventana (window functions) en SQL son funciones que realizan cálculos sobre un conjunto de filas relacionadas con la fila actual, sin agrupar los resultados en una sola fila, como ocurre con las funciones agregadas.

Permiten, por ejemplo, calcular sumas móviles, clasificar filas, calcular totales acumulados, promedios, etc., manteniendo el número original de filas en el resultado.

Ejemplo de uso de la función de ventana 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;

Aquí, para cada empleado, se calcula su rango por salario dentro del departamento, manteniendo todas las filas.

Las funciones de ventana son útiles para análisis, informes y cálculos complejos donde es necesario ver el contexto de cada fila en relación con otras.