U Microsoft Accessu, GROUP BY je klauzula koju možete koristiti za kombiniranje zapisa s identičnim vrijednostima u određenom polju u jednom zapisu. Ako uključite SQL agregatnu funkciju u naredbu SELECT, kao što je AVG, COUNT ili SUM, Access stvara vrijednost sažetka za svaki zapis.
Upute u ovom članku odnose se na Access za Microsoft 365, Access 2019, 2016, 2013 i 2010.
Korištenje GROUP BY
Možete pronaći i koristiti funkciju GROUP BY pomoću SQL upita u SQL prikazu. To je jedan od najjednostavnijih i najizravnijih načina za pristup i kontrolu vaših podataka.
-
Pokrenite Access i otvorite svoju bazu podataka.
Ovaj primjer koristi bazu podataka Northwind Sample.
-
Odaberite karticu Create.
-
U grupi Upiti odaberite Dizajn upita.
-
Na popisu Dodaj tablice odaberite tablicu s kojom želite raditi.
-
Odaberite View u grupi Rezultati i odaberite SQL View.
- Glavno tijelo će se prebaciti na prozor terminala upita. Ovdje možete unijeti upit koji želite.
-
Da biste dobili osnovno grupiranje iz SQL-a, unijeli biste nešto poput ovoga:
SELECTFROM naziv tablice WHERE stupac/kategorija LIKE ‘unos’;
Zamijenite stvarni naziv tablice, naslov kategorije ili stupca i stvarnu vrijednost unosa koju tražite.
Razlaganje upita
Razmotrimo, na primjer, tablicu podataka o narudžbi koja se sastoji od atributa ispod:
- OrderID: Numerička vrijednost koja jedinstveno identificira svaku narudžbu. Ovo polje je primarni ključ za bazu podataka.
- Prodavač: tekstualna vrijednost koja daje ime prodavača koji je prodao proizvode. Ovo polje je strani ključ za drugu tablicu koja sadrži informacije o osoblju.
- CustomerID: Numerička vrijednost koja odgovara broju korisničkog računa. Ovo polje je također strani ključ, koji upućuje na tablicu koja sadrži informacije o korisničkom računu.
- Prihod: Numerička vrijednost koja odgovara iznosu prodaje u dolarima.
Kada dođe vrijeme za provođenje pregleda izvedbe za prodavače, tablica Narudžbe sadrži vrijedne informacije koje se mogu koristiti za taj pregled. Kada procjenjujete Jima, možete, na primjer, napisati jednostavan upit koji dohvaća sve Jimove evidencije o prodaji:
SELECTFROM Orders WHERE Prodavač LIKE 'Jim';
Ovim bi se dohvatili svi zapisi iz baze podataka koji odgovaraju prodaji koju je napravio 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
Mogli biste pregledati ove informacije i izvesti neke ručne izračune kako biste razvili statistiku učinka, ali to bi bio dosadan zadatak koji biste morali ponavljati za svakog prodavača u tvrtki. Umjesto toga, ovaj posao možete zamijeniti jednim upitom GROUP BY koji izračunava statistiku svakog prodavača u tvrtki. Vi pišete upit i navodite da baza podataka treba grupirati rezultate na temelju polja Prodavač. Tada možete koristiti bilo koju od SQL agregatnih funkcija za izvođenje izračuna rezultata.
Evo primjera. Ako ste izvršili sljedeću SQL naredbu:
SELECT Prodavač, SUM(Prihod) KAO 'Ukupno', MIN(Prihod) KAO 'Najmanji', MAX(Prihod) KAO 'Najveći', AVG(Prihod) KAO 'Prosjek', COUNT(Prihod) KAO ' Broj' FROM Orders GROUP BY Prodavač;
Dobili biste sljedeće rezultate:
Ukupno prodavača Najmanji Najveći prosjek Broj
Jim 250000 10000 90000 50000 5
Mary 342000 24000 102000 57000 6Bob 118000 40003 36330 3
Kao što vidite, ova moćna funkcija vam omogućuje generiranje kratkih izvješća unutar SQL upita, pružajući dragocjenu poslovnu inteligenciju upravitelju koji provodi preglede izvedbe. Klauzula GROUP BY često se koristi u bazama podataka za tu svrhu i vrijedan je alat u DBA-ovoj vreći trikova.