GROUP BY (SQL)
# GROUP BY (SQL)

Nel linguaggio SQL, un'istruzione GROUP BY indica che la selezione SELECT deve partizionare le righe del risultato in gruppi, in funzione del loro valore in una o più colonne. L'istruzione GROUP BY si riferisce alle colonne e tipicamente è usata per sintitizzare i dati in una qualche funzione aggregata per ogni gruppo.

Il risultato di una query avente l'istruzione GROUP BY contiene una riga per ogni gruppo. Ciò implica la presenza di vincoli sulle colonne che possono comparire nella SELECT. Come regola generale, la SELECT può contenere solo colonne con un valore univoco per gruppo (i dati oggetto di selezione da parte della SELECT possono anche contenere valori ripetuti e in particolare nulli, ma non i valori delle colonne rispetto a cui si ordina il risultato).

## Esempi

Restituisce l'elenco dei DepartmentID con la relativa somma delle vendite a partire da gennaio 2000:

Restituisce i dati della tabella pivot di esempio che risponde alla domanda: "Quante unità abbiamo venduto in ogni regione per ogni data di spedizione?":

Le più comuni funzioni di aggregazione sono:

* COUNT(espressione) - Quantità di record corrispondenti (per gruppo)
* SUM(espressione) - Somma dei valori dati (per gruppo)
* MIN(espressione) - Minimo dei valori dati (per gruppo)
* MAX(espressione) - Massimo dei valori dati (per gruppo)
* AVG(espressione) - Media dei valori dati (per gruppo)
