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 sintetizzare i dati in una qualche funzione aggregata per ogni gruppo.[1][2]
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).[3]