Menu
Coddy logo textTech

Funzioni di aggregazione

Lezione 11 di 13 del corso SQL avanzato di Coddy.

Le funzioni di aggregazione vengono usate per calcolare AVG() o MAX(), o qualsiasi altra funzione di aggregazione, fino alla riga corrente.
Ad esempio, potremmo calcolare il ricavo massimo ottenuto fino a ciascun periodo finale:

monthrevenue
440
520
660
755
861
SELECT month, revenue, MAX(revenue) OVER (ORDER BY month ASC) as max_revenue
from table1

Questo restituirà:

monthrevenuemax_revenue
44040
52040
66060
75560
86161

Per i mesi 4 e 5 il ricavo massimo è 40, per i mesi 5 e 6 il ricavo è 60 e per il mese 8 è 61. Questo perché, quando trova un nuovo ricavo più alto, scarta quello precedente e usa il più alto trovato fino a quel momento.

Per la funzione AVG(), sarà così:

SELECT month, revenue, AVG(revenue) OVER (ORDER BY month ASC) as avg_revenue
from table1
monthrevenueavg_revenue
44040
52030
66040
75543.75
86147.2
challenge icon

Sfida

Facile

I libri hanno molte pagine e ogni pagina contiene molte parole.

In questa sfida, calcoleremo diverse metriche relative a questi libri.

Recupera per ogni libro il numero totale di parole, il numero massimo di parole, il numero minimo di parole e la media delle parole fino a ogni pagina; chiama queste colonne rispettivamente: total_words, max_words, min_words, avg_words. Inoltre, assegna un rango denso alle pagine (per ogni libro) calcolando il rapporto: (avg_words-min_words)/(total_words-min_words) in ordine crescente per ogni libro; chiama questa colonna ratio_rank. Infine, ordina il risultato per book e ratio_rank in ordine crescente.

Provalo tu

Tutte le lezioni di SQL avanzato

Esercitati da solo: Compilatore Python online