A window function performs calculations across related rows without collapsing them.
Example:
SELECT
employee,
department,
salary,
AVG(salary) OVER (PARTITION BY department) AS dept_avg
FROM employees;Every employee remains a row.
Compare:
GROUP BY department
which collapses multiple employees into one department row.
Difference:
> GROUP BY reduces rows. > Window functions keep rows.