Menu
Coddy logo textTech

Funzioni di aggregazione

Fa parte della sezione Fondamenti del percorso SQL di Coddy. Lezione 68 di 72.

Le funzioni di aggregazione vengono utilizzate 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:

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

Questo restituirà:

mesericavimax_revenue
44040
52040
66060
75560
86161

Per i mesi 4 e 5, il ricavo massimo è 40; per i mesi 6 e 7 è 60, e per il mese 8 è 61. Questo perché quando trova un nuovo ricavo più alto, scarta quello vecchio e usa il più alto trovato finora.

Per la funzione AVG() sarà così:

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

Possiamo anche raggruppare i nostri calcoli per categorie specifiche usando PARTITION BY. Ad esempio:

SELECT month, revenue, region,
MAX(revenue) OVER (PARTITION BY region ORDER BY month ASC) as max_revenue
FROM table1

Ci darebbe:

monthrevenueregionmax_revenue
440East40
520East40
660West60
755West60
861East61

Ora il massimo viene calcolato separatamente per ogni regione. La regione East e la regione West mantengono indipendentemente i propri massimi progressivi.

challenge icon

Sfida

Facile

Tabelle e colonne disponibili:

  • books: book, page, words

Per ogni libro, mostra il nome del libro, il numero totale di pagine, il numero di parole su ogni pagina e calcola:

  1. Il numero massimo di parole trovate in una qualsiasi pagina di quel libro
  2. Il numero medio di parole per pagina per l'intero libro
  3. La differenza tra il numero di parole della pagina corrente e il numero medio di parole per pagina del libro

Mostra i risultati ordinati per libro e numero di pagina.

Restituisci le seguenti colonne:

  • book
  • page
  • words
  • max_words_in_book
  • avg_words_per_page
  • diff_from_avg

Provalo tu

quiz iconMettiti alla prova

Questa lezione include un breve quiz. Inizia la lezione per rispondere e tenere traccia dei tuoi progressi.

Tutte le lezioni di Fondamenti

Esercitati da solo: Playground SQL