In Microsoft Access, GROUP BY è una clausola che puoi utilizzare per combinare record con valori identici in un campo specifico in un record. Se si include una funzione di aggregazione SQL nell'istruzione SELECT, ad esempio AVG, COUNT o SUM, Access crea un valore di riepilogo per ogni record.
Le istruzioni in questo articolo si applicano ad Access per Microsoft 365, Access 2019, 2016, 2013 e 2010.
Utilizzo di GROUP BY
Puoi trovare e usare la funzione GROUP BY usando una query SQL nella vista SQL. È uno dei modi più semplici e diretti per accedere e controllare i tuoi dati.
-
Inizia l'accesso e apri il tuo database.
Questo esempio utilizza il database di esempio Northwind.
-
Seleziona la scheda Crea.
-
Nel gruppo Query, seleziona Query Design.
-
Nell'elenco Aggiungi tabelle, seleziona la tabella con cui vuoi lavorare.
-
Seleziona View nel gruppo Risultati e scegli SQL View.
- Il corpo principale passerà a una finestra del terminale di query. Qui puoi inserire qualsiasi query che ti piace.
-
Per ottenere un raggruppamento di base da SQL, devi inserire qualcosa come questo:
SELECTFROM tablename WHERE colonna/categoria LIKE 'voce';
Sostituisci il nome effettivo della tabella, l'intestazione della categoria o della colonna e il valore di ingresso effettivo che stai cercando.
Risolvere la domanda
Si consideri, ad esempio, una tabella dei dati dell'ordine composta dagli attributi seguenti:
- OrderID: un valore numerico che identifica in modo univoco ogni ordine. Questo campo è la chiave primaria per il database.
- Venditore: un valore di testo che fornisce il nome del venditore che ha venduto i prodotti. Questo campo è una chiave esterna per un' altra tabella contenente informazioni sul personale.
- CustomerID: un valore numerico corrispondente al numero di un conto cliente. Questo campo è anche una chiave esterna, che fa riferimento a una tabella contenente le informazioni sull'account del cliente.
- Fatturato: un valore numerico corrispondente all'importo in dollari della vendita.
Quando arriva il momento di condurre revisioni delle prestazioni per i venditori, la tabella Ordini contiene informazioni preziose che possono essere utilizzate per tale revisione. Quando valuti Jim, potresti, ad esempio, scrivere una semplice query che recuperi tutti i record di vendita di Jim:
SELEZIONADA Ordini IN CUI Venditore COME 'Jim';
Questo recupererebbe tutti i record dal database corrispondenti alle vendite effettuate da Jim:
OrderID Salesperson CustomerID Revenue
12482 Jim 182 40000
12488 Jim 219 25000
12519 Jim 137 85000
12602 Jim 182 10000 12741 Jim 155 90000
Puoi rivedere queste informazioni ed eseguire alcuni calcoli manuali per sviluppare statistiche sulle prestazioni, ma questo sarebbe un compito noioso che dovresti ripetere per ogni venditore dell'azienda. Invece, puoi sostituire questo lavoro con una singola query GROUP BY che calcola le statistiche di ogni venditore nell'azienda. Scrivi la query e specifichi che il database deve raggruppare i risultati in base al campo Venditore. È quindi possibile utilizzare una qualsiasi delle funzioni di aggregazione SQL per eseguire calcoli sui risultati.
Ecco un esempio. Se hai eseguito la seguente istruzione SQL:
SELECT venditore, SUM(ricavi) COME 'Totale', MIN(ricavi) COME 'minore', MAX(entrate) COME 'maggiore', AVG(entrate) COME 'media', COUNT(entrate) COME ' Numero' DA Ordini GRUPPO PER Venditore;
Otterresti i seguenti risultati:
Totale venditore Più piccolo Numero medio
Jim 250000 10000 90000 50000 5
Mary 342000 24000 102000 57000 6Bob 118000 4000 36000 3 33
Come puoi vedere, questa potente funzione ti consente di generare brevi report dall'interno di una query SQL, fornendo preziose informazioni di business al manager che conduce le revisioni delle prestazioni. La clausola GROUP BY viene spesso utilizzata nei database per questo scopo ed è uno strumento prezioso nella borsa dei trucchi del DBA.