ACID-transacties
ACID-transacties zijn de vier garanties (Atomicity, Consistency, Isolation, Durability) die zorgen dat je data correct blijft, ook als een p...
Lees meerEen window function is een SQL-functie die rekent over een groep gerelateerde rijen, terwijl elke rij zichtbaar blijft. Je gebruikt ze voor ranking, lopende totalen en vergelijkingen met vorige rijen.
Een window function is een SQL-functie die rekent over een groep rijen die bij de huidige rij horen, zonder die rijen samen te klappen tot één resultaat.
Dat verschil is belangrijk. Met GROUP BY krijg je één rij per groep. Met een window function blijft elke oorspronkelijke rij bestaan, maar krijgt ze extra context: haar rang, een lopend totaal, of de waarde van de vorige rij.
Je gebruikt window functions wanneer je binnen een tabel wil kijken naar buren, volgorde of groepen, zonder het detail kwijt te raken.
Het hart van een window function is OVER. Daarmee zeg je over welk venster de functie moet rekenen.
SELECT
customer_id,
order_date,
amount,
SUM(amount) OVER (
PARTITION BY customer_id
ORDER BY order_date
) AS running_total
FROM orders;Deze query toont elke order, plus het lopende totaal per klant. PARTITION BY maakt een apart venster per klant. ORDER BY bepaalt de volgorde binnen dat venster.
Voor ranking ziet het er zo uit.
SELECT
region,
salesperson,
revenue,
RANK() OVER (
PARTITION BY region
ORDER BY revenue DESC
) AS rank_in_region
FROM sales_people;Elke verkoper blijft zichtbaar, maar krijgt een positie binnen de eigen regio.
Voor ranking. Topverkopers per regio, populairste producten per categorie of recentste record per klant.
Voor lopende totalen. Omzet tot en met vandaag, saldo na elke transactie of voorraad door de tijd.
Voor vorige en volgende waarden. Met LAG en LEAD vergelijk je een rij met haar voorganger of opvolger.
Voor deduplicatie. Je kan per groep de meest recente rij nummeren en alleen nummer 1 bewaren.
GROUP BY vat rijen samen. Je verliest het detail en krijgt één rij per groep. Dat is perfect voor omzet per maand of aantal orders per klant.
Een window function voegt een berekening toe naast elke rij. Je behoudt het detail en krijgt tegelijk groepscontext. Dat is ideaal wanneer je de order zelf nog nodig hebt, niet alleen het maandtotaal.
Ordening bepaalt de betekenis. Een lopend totaal zonder duidelijke ORDER BY is zelden betrouwbaar.
Gelijke waarden kunnen verrassingen geven. Bij ranking moet je kiezen hoe je omgaat met ex aequo's. RANK, DENSE_RANK en ROW_NUMBER gedragen zich anders.
Ze draaien na filtering en groepering. In SQL worden window functions pas toegepast nadat WHERE, GROUP BY en HAVING hun werk deden.
Grote vensters kosten rekenkracht. Zeker sorteringen over miljoenen rijen vragen aandacht voor partitionering en indexing.
1. Is een window function hetzelfde als een venster in Power BI?
Nee. Het idee van context lijkt wat op elkaar, maar window functions zijn SQL-functies in een query.
2. Kan ik window functions gebruiken in elke SQL-database?
De meeste moderne databases ondersteunen ze, maar details en functienamen verschillen per systeem.
3. Waarom werkt mijn window function niet in WHERE?
Omdat SQL window functions pas later berekent. Gebruik een CTE of subquery en filter daarna op het resultaat.
ACID-transacties zijn de vier garanties (Atomicity, Consistency, Isolation, Durability) die zorgen dat je data correct blijft, ook als een p...
Lees meerApache Airflow is een open-source orkestrator: je beschrijft je datapijplijnen als code in Python, in de vorm van een DAG, en Airflow plant ...
Lees meerApache Spark is een open-source engine voor grootschalige data-analyse op een cluster. Je schrijft SQL of DataFrames in Python, Scala of Jav...
Lees meerEen API of Application Programming Interface is de afgesproken manier waarop software met andere software praat. Je stuurt een verzoek in ee...
Lees meerEen backfill is het opnieuw of alsnog verwerken van historische data door een pijplijn die normaal alleen nieuwe of gewijzigde data oppakt. ...
Lees meer
Zeven nieuwe Data Panda-connectors uit juni 2026, met concrete toepassingen voor rapportering, voorraad, finance, ticketing, planning en ope...
Nieuw in Microsoft Fabric? Zo verschillen een lakehouse en een warehouse, in mensentaal: wat ze doen, wanneer je wat kiest en wanneer je bei...