Programmazione Web » Sql » Le istruzioni GROUP BY ed HAVING
Le istruzioni GROUP BY ed HAVING
Difficoltà:
Scritto da Michele Sassi
Sito Web: http://www.comefaccio.net ![]()
Questo tutorial è stato letto 1090 volte
Le istruzioni GROUP BY ed HAVING di Sql servono qualora si voglia estrarre un gruppo di record in base ad un determinato criterio.
Per capire l'utilizzo di questi due comandi ci serviamo di questa tabella chiamata "acquisti":
| id_acquirente | data acquisto | ricavo |
| 1 | 02/05/04 | 1000 |
| 5 | 21/05/04 | 800 |
| 1 | 22/08/04 | 650 |
| 2 | 10/10/04 | 340 |
| 5 | 10/03/05 | 2000 |
| 2 | 10/04/05 | 1800 |
Supponiamo di voler controllare il valore dell'acquisto massimo di ogni nostro acquirente:
SELECT id_acquirente, MAX(ricavo)
FROM acquisti
GROUP BY id_acquirente;
Il risultato sarà:
| id_acquirente | data acquisto | ricavo |
| 1 | 02/05/04 | 1000 |
| 5 | 10/03/05 | 2000 |
| 2 | 10/04/05 | 1800 |
In quest'altro caso, invece, vogliamo visualizzare il prezzo massimo d'acquisto di ciascun acquirente, ma se e solo se l'importo supera i 1500 euro:
SELECT id_acquirente, MAX(ricavo)
FROM acquisti
GROUP BY id_acquirente
HAVING ricavo > 1500;
In tal caso il risultato sarà il seguente:
| id_acquirente | data acquisto | ricavo |
| 5 | 10/03/05 | 2000 |
| 2 | 10/04/05 | 1800 |

