Home / SQL Server 2016 / #4 T-SQL: La clausola HAVING

#4 T-SQL: La clausola HAVING

HAVING

Come già intravisto nel primo articolo di questa serie, la clausola HAVING consente di filtrare i gruppi e non le righe (le righe vengono filtrate con la clausola WHERE).

Poniamo di avere all’interno del nostro database la tabella Scuola con il seguente contenuto:

Partiamo da questa query di esempio:

SELECT   AnnoNascita,  LuogoNascita,  COUNT(*) as NumeroStudenti

FROM   [DBTUT ITA].[Scuola].[Studenti]

GROUP BY   AnnoNascita, LuogoNascita

HAVING COUNT(*) > 1

Nel nostro esempio, la clausola GROUP BY creerà un gruppo per ogni combinazione univoca di AnnoNascita e LuogoNascita:

Mentre la clausola HAVING filtrerà i gruppi prendendo solo quelli con COUNT maggiore di 1. Ecco il risultato finale della query:

Qui di seguito riportiamo un altro esempio di query che lavora sui gruppi:

SELECT AnnoNascita, LuogoNascita, COUNT(*) as NumeroStudenti

FROM [DBTUT ITA].[Scuola].[Studenti]

GROUP BY AnnoNascita, LuogoNascita

HAVING LuogoNascita=’Roma

In questo caso la clausola di HAVING ha filtrato i gruppi con LuogoNascita=Roma.

Buona giornata a tutti!

About Lara

Mi chiamo Lara (perché mia mamma guardava il film de Il dottor Živago), ho 35 anni e sono nata e cresciuta nell'entroterra marchigiano. Amo la mia terra, che è un pezzo del mio cuore. Gli altri pezzi sono a Madrid, Parigi (dove ho vissuto 3 anni per lavoro) e a Milano. Curiosità, passione, creatività, pragmaticità e problem solving mi contraddistinguono (i difetti non li scrivo mica pubblicamente!!!). Fotografia, tecnologia, arte, film, gialli, cibo ... e molto altro! Sono Co-founder di Geekotech.it e Geekotech.fr

Check Also

SQL Server 2016 : Come impostare invio mail in caso di fallimento del Job? (SSMS)

Ciao a tutti!! Oggi inauguriamo una nuova sezione del sito che si occuperà di SQL …

Lascia un commento

Il tuo indirizzo email non sarà pubblicato. I campi obbligatori sono contrassegnati *