Window functions voeren berekeningen uit over een verzameling rijen (een "window") gerelateerd aan de huidige rij, zonder ze in een enkele uitvoerrij samen te vouwen (anders dan aggregaten met GROUP BY). Ze maken krachtige analyses mogelijk — lopende totalen, rankings, vergelijkingen met andere rijen — terwijl elke rij in het resultaat behouden blijft.
Het belangrijkste verschil met GROUP BY
GROUP BY → collapses groups into ONE row each (you lose individual rows)
Window function → computes across related rows but KEEPS every row
→ You get per-row detail AND aggregate/ranking info together.
