Le funzioni di aggragazione previste da SQL sono diverse e sono:
- AVG() – restituisce il valore medio;
- COUNT() – restituisce il numero di righe;
- FIRST() – restituisce il primo valore;
- LAST() – restituisce l’ultimo valore;
- MAX() – restituisce il valore maggiore;
- MIN() – restituisce il valore minore;
- SUM() – restituisce una somma di valori.
L’ambito di applicazione più frequente per queste funzioni è, appunto, in congiunzione con la clausola GROUP BY in quanto consentono di effettuare rapidi calcoli su campi numerici raggruppati al fine di estrarne il valore medio, massimo, la somma, ecc.
Vediamo qualche esempio. Supponiamo, ad esempio, di voler conoscere la spesa media degli acquisti effettuati da ciascun cliente del nostro store:
SELECT id_cliente, AVG(prezzo) AS spesa_media FROM ordini GROUP BY id_cliente;
Oppure di voler conoscere l’ordine di maggior importo effettuato dai nostri utenti:
SELECT id_cliente, MAX(prezzo) AS spesa_massima FROM ordini GROUP BY id_cliente;