Window functions
Analizzare righe correlate
Sezione intitolata “Analizzare righe correlate”Le window functions sono funzioni molto utili quando vuoi analizzare un gruppo di righe, ma senza trasformarlo in una sola riga come fa GROUP BY.
Sono utili per classifiche, posizioni e confronti tra righe vicine.
SELECT nome, totale, ROW_NUMBER() OVER (ORDER BY totale DESC) AS posizioneFROM ordini;Questa query assegna un numero di posizione a ogni riga, ordinando i risultati per totale dal più grande al più piccolo.
Le funzioni più famose
Sezione intitolata “Le funzioni più famose”Le funzioni più comuni sono:
ROW_NUMBER()RANK()DENSE_RANK()
Il ruolo di OVER
Sezione intitolata “Il ruolo di OVER”La parte OVER (...) dice alla funzione su quale finestra di righe deve lavorare e con quale ordine.
Senza OVER, questa famiglia di funzioni non saprebbe su quale insieme ragionare.
Quando sono utili
Sezione intitolata “Quando sono utili”Le window functions servono spesso per:
- creare classifiche
- numerare le righe
- confrontare risultati vicini
- aggiungere analisi senza perdere il dettaglio riga per riga
Sono funzioni avanzate, utili quando devi analizzare i dati senza perdere il dettaglio delle singole righe.