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 table1Il 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 table1Funziona 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
Sfida
FacileTabelle 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
Questa lezione include un breve quiz. Inizia la lezione per rispondere e tenere traccia dei tuoi progressi.
Tutte le lezioni di Fondamenti
4Altre parole chiave
La parola chiave INLa parola chiave BETWEENLa parola chiave LIKELa parola chiave ASRiepilogo - Modelli di telefoni cellulari2Condizioni
Basi delle condizioniLa parola chiave ANDLa parola chiave ORLa parola chiave NOTCombinare più condizioniParentesiValori booleani5Operazioni aritmetiche
Operatori matematiciColonne matematicheL’operazione moduloLa funzione ROUND()3Formato di restituzione specifico
Valori nullOrdinare i risultati Parte 1Ordinare i risultati Parte 2Riepilogo - Azienda di sicurezza informaticaLimitare il numero di recordRiepilogo - Fabbrica di veicoli6Sfide introduttive
Ripasso - Elezione parlamentareRipasso - Arresto di un criminale da parte della poliziaRipasso - Contenitore per bevande da barRipasso - Progetta nuove colonne9Tabelle multiple
JOIN di base, parte 1JOIN di base, parte 2Riepilogo - JOINSelf joinRiepilogo - Self joinUNIONSemplificare le query, parola chiave WITHRiepilogo - Query con WITHRiepilogo - Impresa edile immobiliare12Funzioni finestra, parte 2
Funzioni RANK e DENSE_RANKRipasso: RANK e DENSE_RANKFunzione NTILEFunzioni di aggregazioneCriteri ROWS e RANGEEsercitati da solo: Playground SQL