L’istruzione GROUP BY in SQL viene utilizzata per organizzare dati identici in gruppi con l’aiuto di alcune funzioni. cioè se una particolare colonna ha gli stessi valori in righe diverse, organizzerà queste righe in un gruppo.

Punti importanti:

  • La clausola GROUP BY viene utilizzata con l’istruzione SELECT.
  • Nella query, la clausola GROUP BY viene posizionata dopo la clausola WHERE.
  • Nella query, la clausola GROUP BY viene inserita prima della clausola ORDER BY se utilizzata qualsiasi.,

Sintassi:

Esempio di Tabella:

Impiegato

Studenti

Esempio:

  • Group By singola colonna: Gruppo unica colonna di mezzi, di mettere tutte le righe con lo stesso valore di un solo particolare di una colonna in un gruppo., Considera la query come mostrato di seguito:
    SELECT NAME, SUM(SALARY) FROM Employee GROUP BY NAME;

    La query sopra produrrà l’output seguente:

    Come puoi vedere nell’output sopra, le righe con nomi duplicati sono raggruppate sotto lo stesso NOME e il loro STIPENDIO corrispondente è la somma dello STIPENDIO delle righe duplicate. La funzione SUM () di SQL viene utilizzata qui per calcolare la somma.

  • Group By multiple columns: Group by multiple column è ad esempio GROUP BY column1, column2., Ciò significa posizionare tutte le righe con gli stessi valori di entrambe le colonne column1 e column2 in un gruppo. Considera la seguente query:
    SELECT SUBJECT, YEAR, Count(*)FROM StudentGROUP BY SUBJECT, YEAR;

    Output:

    Come puoi vedere nell’output precedente, gli studenti con lo stesso SOGGETTO e ANNO sono collocati nello stesso gruppo. E quelli il cui unico SOGGETTO è lo stesso, ma non l’ANNO appartiene a gruppi diversi. Quindi qui abbiamo raggruppato la tabella in base a due colonne o più di una colonna.,

AVENDO Clausola

Sappiamo che la clausola WHERE viene utilizzata per posizionare condizioni sulle colonne, ma cosa succede se vogliamo posizionare condizioni sui gruppi?

È qui che entra in uso la clausola HAVING. Possiamo usare la clausola HAVING per posizionare le condizioni per decidere quale gruppo farà parte del set di risultati finali. Inoltre non possiamo usare le funzioni aggregate come SUM (), COUNT () ecc. con la clausola WHERE. Quindi dobbiamo usare la clausola HAVING se vogliamo usare una di queste funzioni nelle condizioni.,

Sintassi:

Esempio:

SELECT NAME, SUM(SALARY) FROM Employee GROUP BY NAMEHAVING SUM(SALARY)>3000; 

Uscita:

Come si può vedere nella precedente uscita di un solo gruppo dei tre gruppi appare nel set di risultati in quanto è l’unico gruppo in cui la somma dello STIPENDIO è maggiore di 3000. Quindi abbiamo usato la clausola HAVING qui per posizionare questa condizione poiché la condizione deve essere posizionata su gruppi non colonne.

Questo articolo è contribuito da Harsh Agarwal. Se ti piace GeeksforGeeks e vorresti contribuire, puoi anche scrivere un articolo usando contribute.geeksforgeeks.,org o posta il tuo articolo a [email protected]. Vedere il tuo articolo che appare sulla pagina principale GeeksforGeeks e aiutare altri Geek.