Supponi, ora, di voler conoscere il numero totale di oggetti presenti solo per le marche con almeno un oggetto con prezzo uguale a 1000. La clausola HAVING filtra i dati raggruppati:
SELECT marca, SUM(quantita) as totale_oggetti FROM oggetti WHERE prezzo = 1000 GROUP BY marca HAVING totale_oggetti > 0;
Questa query restituisce una tabella con le marche e il numero totale di oggetti per quella marca, ma solo per le marche che hanno almeno un oggetto con prezzo uguale a 1.000. La clausola ‘WHERE’ filtra le righe in cui il prezzo è uguale a 1.000, mentre la clausola ‘HAVING’ filtra almeno un oggetto con prezzo uguale a 1.000.
Il risultato, come previsto, è una lista dei quattro oggetti di prezzo pari a 1.000 (euro).