Menu
Coddy logo textTech

Funzioni aggregate integrate - Parte 2

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

A volte dobbiamo usare le funzioni di aggregazione in modi più complessi, ad esempio confrontando ogni riga con un valore aggregato. È qui che le query annidate tornano utili.

Quando vuoi eseguire calcoli che combinano singole righe con valori aggregati, devi usare una query annidata. Ecco perché:
Questo non ti darà il risultato per riga che vuoi:

SELECT value + MIN(value)
FROM table1

Il motivo è che le funzioni di aggregazione operano sull'intera colonna, mentre il riferimento a 'value' cerca di operare riga per riga. Per risolvere questo problema, usiamo una query annidata:

SELECT value + (SELECT MIN(value) FROM table1)
FROM table1

Funziona perché la query annidata (SELECT MIN(value) FROM table1) viene eseguita per prima e restituisce un singolo valore, che può quindi essere usato nella query principale per ogni riga.

Casi d'uso comuni per gli aggregati annidati:
1. Confrontare ogni valore con la media

2. Calcolare la percentuale del totale

3. Trovare le differenze rispetto ai valori massimi o minimi

challenge icon

Sfida

Facile

Tabelle e colonne disponibili:

  • items: id, price

Calcola di quanto il prezzo di ciascun articolo supera il prezzo medio di tutti gli articoli. Visualizza l'ID dell'articolo, il suo prezzo e la differenza rispetto alla media. Assegna alla colonna della differenza il nome diff_from_avg.

Ordina i risultati in base alla differenza in ordine decrescente.

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