Sobes.tech
Junior — Middle

Heeft u ervaring met het gebruik van vensterfuncties bij het werken met SQL-query's?

sobes.tech AI

Antwoord van AI

Ja, bij het werken met SQL-query's heb ik window functies (window functions) gebruikt. Ze maken het mogelijk om berekeningen uit te voeren over een set rijen die gerelateerd zijn aan de huidige rij, zonder de resultaten te groeperen, wat handig is voor analyses en complexe queries.

Belangrijke window functies:

  • ROW_NUMBER() — nummering van rijen binnen het venster
  • RANK(), DENSE_RANK() — rangschikking met rekening houdend met gelijke waarden
  • SUM(), AVG(), COUNT() — aggregatiefuncties over het venster

Voorbeeld: een lijst maken van werknemers met hun salaris en hun rangorde per afdeling in aflopende volgorde van salaris:

SELECT
  employee_id,
  department_id,
  salary,
  ROW_NUMBER() OVER (PARTITION BY department_id ORDER BY salary DESC) AS salary_rank
FROM employees;

Hier verdeelt PARTITION BY de gegevens per afdeling, en ORDER BY bepaalt de volgorde binnen elke afdeling. Window functies maken het mogelijk om complexe analytische queries uit te voeren zonder details te verliezen.