La clausola GROUP BY in Access combina in un unico record tutti i record che presentano valori uguali nell'elenco di campi specificato. Se nell'istruzione SELECT viene inclusa una funzione di aggregazione SQL, ad esempio Somma o Conteggio, per ogni record viene creato un valore di riepilogo.
Sintassi
SELECT elencocampi
FROM tabella WHERE criteri [GROUP BY elencocampigruppo]Un'istruzione SELECT che include una clausola GROUP BY è composta dalle parti seguenti:
Parte |
Descrizione |
elencocampi |
Nome del campo o dei campi da recuperare insieme agli eventuali alias dei nomi di campo, alle funzioni di aggregazione SQL, ai predicati di selezione (ALL, DISTINCT, DISTINCTROW o TOP) e altre opzioni dell'istruzione SELECT. |
tabella |
Nome della tabella di cui vengono recuperati i record. |
criteri |
Criteri di selezione. Se nell'istruzione è inclusa una clausola WHERE, i valori vengono raggruppati dal motore del database di Microsoft Access dopo l'applicazione delle condizioni della clausola WHERE ai record. |
elencocampigruppo |
Nomi di un numero massimo di 10 campi utilizzati per raggruppare i record. L'ordine dei nomi dei campi in elencocampigruppo determina i livelli di raggruppamento, dal livello più alto a quello più basso. |
Osservazioni
La clausola GROUP BY è facoltativa.
I valori di riepilogo vengono omessi se l'istruzione SELECT non include funzioni di aggregazione SQL.
I valori Null inclusi nei campi GROUP BY vengono raggruppati e non sono omessi. Tuttavia, i valori Null non vengono valutati dalle funzioni di aggregazione SQL.
La proposizione WHERE consente di ignorare le righe che si desidera escludere dall'operazione di raggruppamento, mentre la proposizione HAVING consente di filtrare i record dopo il raggruppamento.
Se non include dati di tipo Oggetto OLE o Memo, un campo dell'elenco di campi GROUP BY può fare riferimento a qualsiasi campo incluso in una tabella elencata nella clausola FROM, anche se il campo non è incluso nell'istruzione SELECT, a condizione che tale istruzione includa almeno una funzione di aggregazione SQL. Il motore di database di Microsoft Access non consente di raggruppare campi con dati di tipo Oggetto OLE o Memo.
Tutti i campi nell'elenco di campi SELECT devono essere inclusi nella proposizione GROUP BY oppure devono essere inclusi come argomenti della funzione di aggregazione SQL.