Funcțiile de fereastră efectuează calcule pe un set de rânduri (o "fereastră") legate de rândul curent, fără a le comprima într-un singur rând de ieșire (spre deosebire de agregate cu GROUP BY). Ele permit analize puternice — totaluri cumulative, clasamente, comparații cu alte rânduri — în timp ce păstrează fiecare rând în rezultat.
Diferența cheie comparativ cu 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.
