Funzione finestra
Funzione SQL che calcola un valore su un insieme di righe («finestra») collegate alla riga corrente, senza comprimerle come fa GROUP BY. Consente numerazione delle righe, totali progressivi, classifiche e confronti con la riga precedente o successiva.
Sintassi: function() OVER (PARTITION BY ... ORDER BY ...). Funzioni comuni: ROW_NUMBER(), RANK(), DENSE_RANK(), LAG()/LEAD() (guardano la riga precedente/successiva), SUM() OVER (...) (totale progressivo). La differenza rispetto a un aggregato con GROUP BY: le funzioni finestra MANTENGONO tutte le righe e aggiungono una colonna calcolata → «mostra ogni ordine insieme alla spesa totale del cliente sulla stessa riga». Usi: «top-N per gruppo», saldi progressivi, percentuale sul totale, rilevamento di lacune. Standard SQL:2003, supportato da tutti i database moderni. Una delle funzionalità SQL potenti più sottoutilizzate: spesso sostituisce self-join macchinosi.