Funzioni aggregate
Quando non vuoi vedere ogni riga
Sezione intitolata “Quando non vuoi vedere ogni riga”A volte non ti interessa leggere tutti i dati uno per uno. Vuoi un riassunto.
Per esempio:
- quanti ordini ci sono?
- quanto abbiamo incassato?
- qual è il prezzo più alto?
- qual è la media dei voti?
Le funzioni aggregate servono proprio a questo: prendono molte righe e restituiscono un risultato riassuntivo.
Contare le righe con COUNT
Sezione intitolata “Contare le righe con COUNT”Questa query conta quante righe ci sono nella tabella ordini:
SELECT COUNT(*)FROM ordini;Se la tabella contiene 125 ordini, il risultato sarà un numero solo: 125.
COUNT(*) significa “conta le righe”.
Le funzioni più usate
Sezione intitolata “Le funzioni più usate”Ecco le aggregate che incontrerai più spesso:
| Funzione | Cosa fa |
|---|---|
COUNT() | conta righe o valori |
SUM() | somma numeri |
AVG() | calcola una media |
MIN() | trova il valore più basso |
MAX() | trova il valore più alto |
Alcuni esempi
Sezione intitolata “Alcuni esempi”Per sommare il totale degli ordini:
SELECT SUM(totale)FROM ordini;Per calcolare il prezzo medio dei prodotti:
SELECT AVG(prezzo)FROM prodotti;Per trovare il prezzo più alto:
SELECT MAX(prezzo)FROM prodotti;Per trovare il prezzo più basso:
SELECT MIN(prezzo)FROM prodotti;Ogni query restituisce un solo valore, perché stai chiedendo un riassunto.
Dare un nome al risultato
Sezione intitolata “Dare un nome al risultato”Il nome automatico della colonna può essere poco leggibile. Per questo puoi usare AS:
SELECT COUNT(*) AS numero_ordiniFROM ordini;Ora il risultato avrà una colonna chiamata numero_ordini.
È un dettaglio piccolo, ma rende le query molto più chiare, soprattutto nei report.
Attenzione a NULL
Sezione intitolata “Attenzione a NULL”NULL significa “dato mancante”.
Le aggregate lo trattano in modo particolare:
COUNT(*)conta le righe, anche se alcune colonne hanno valori mancanti.COUNT(colonna)conta solo le righe in cui quella colonna ha un valore.SUM(),AVG(),MIN()eMAX()di solito ignorano i valoriNULL.
La cosa importante da ricordare è questa: mancante non significa zero.
Riepilogo rapido
Sezione intitolata “Riepilogo rapido”- Le funzioni aggregate riassumono molte righe.
COUNT(*)conta le righe.SUM()somma,AVG()calcola la media.MIN()eMAX()trovano il valore più basso e più alto.- Con
ASpuoi dare un nome leggibile al risultato.