Middle
Hoe verdeel je gegevens in groepen met behulp van vensterfuncties in SQL?
sobes.tech AI
Antwoord van AI
Vensterfuncties in SQL stellen je in staat om berekeningen uit te voeren op groepen rijen zonder dat het resultaat wordt teruggebracht tot één rij, zoals bij GROUP BY. Ze werken met een set rijen (venster) die voor elke rij is gedefinieerd.
Om gegevens in groepen te verdelen en vensterfuncties toe te passen, gebruik je de constructie OVER (PARTITION BY ...). Bijvoorbeeld:
SELECT
employee_id,
department_id,
salary,
RANK() OVER (PARTITION BY department_id ORDER BY salary DESC) AS salary_rank
FROM employees;
Hier worden de gegevens verdeeld in groepen op basis van department_id, en binnen elke groep wordt de salarisscore berekend.
Zo maken vensterfuncties het mogelijk om gegevens per groep te analyseren, terwijl alle rijen van de oorspronkelijke tabel behouden blijven.