Window functions udfører beregninger på tværs af et sæt rækker (et "vindue") relateret til den aktuelle række, uden at kollapse dem til en enkelt outputrække (i modsætning til aggregater med GROUP BY). De muliggør kraftfuld analyse — løbende totaler, rangering, sammenligninger med andre rækker — mens hver række bevares i resultatet.
Vigtigste forskel fra 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.
