A Microsoft Accessben a GROUP BY egy záradék, amellyel egy rekordban egyesítheti az azonos értékekkel rendelkező rekordokat egy adott mezőben. Ha a SELECT utasításban szerepel egy SQL összesítő függvény, például AVG, COUNT vagy SUM, az Access minden rekordhoz összefoglaló értéket hoz létre.
A cikkben található utasítások az Access for Microsoft 365, Access 2019, 2016, 2013 és 2010 verziókra vonatkoznak.
A GROUP BY használata
A GROUP BY függvényt SQL lekérdezéssel találhatja meg és használhatja az SQL nézetben. Ez az egyik legegyszerűbb és legközvetlenebb módja az adatok elérésének és vezérlésének.
-
Indítsa el az Access-t, és nyissa meg az adatbázist.
Ez a példa a Northwind mintaadatbázist használja.
-
Válassza ki a Létrehozás lapot.
-
A Lekérdezések csoportban válassza a Lekérdezéstervezés lehetőséget.
-
A Táblázatok hozzáadása listában válassza ki azt a táblázatot, amellyel dolgozni szeretne.
-
Válassza ki a View lehetőséget az Eredmények csoportban, és válassza az SQL View lehetőséget.
- A fő rész átvált egy lekérdező terminál ablakra. Itt bármilyen lekérdezést megadhat.
-
Az SQL alapszintű csoportosításához írja be a következőt:
SELECTFROM táblanév WHERE oszlop/kategória LIKE ‘bejegyzés’;
Cserélje be a táblázat tényleges nevét, a kategória vagy oszlopfejlécet és a keresett tényleges bejegyzési értéket.
A lekérdezés lebontása
Vegyünk például egy rendelési adattáblázatot, amely az alábbi attribútumokból áll:
- OrderID: Egy numerikus érték, amely egyedileg azonosítja az egyes rendeléseket. Ez a mező az adatbázis elsődleges kulcsa.
- Salesperson: A termékeket értékesítő értékesítő nevét tartalmazó szöveges érték. Ez a mező egy másik, személyi információkat tartalmazó tábla idegen kulcsa.
- CustomerID: Ügyfélszámlaszámnak megfelelő numerikus érték. Ez a mező egyben idegen kulcs is, amely egy ügyfélszámla-információkat tartalmazó táblázatra hivatkozik.
- Bevétel: Az eladás dollárban kifejezett összegének megfelelő numerikus érték.
Amikor eljön az ideje, hogy teljesítményértékelést készítsünk az értékesítők számára, a Rendelések táblázat értékes információkat tartalmaz, amelyek felhasználhatók az adott áttekintéshez. Jim kiértékelésekor írhat például egy egyszerű lekérdezést, amely lekéri Jim összes értékesítési rekordját:
KIVÁLASZTÁSA rendelésekből, AHOL az értékesítő LIKE „Jim”;
Ez lekéri az adatbázisból a Jim által végrehajtott eladásoknak megfelelő összes rekordot:
Rendelésazonosító Értékesítő Ügyfélazonosító bevétel
12482 Jim 182 40000
12488 Jim 219 25000
12519 Jim 137 85000 12519 Jim 137 85000 12519 Jim 137 85000 12741 Jim 155 90000
Áttekintheti ezeket az információkat, és elvégezhet néhány manuális számítást a teljesítménystatisztikák elkészítéséhez, de ez fárasztó feladat lenne, amelyet meg kell ismételnie a vállalat minden értékesítőjénél. Ehelyett lecserélheti ezt a munkát egyetlen GROUP BY lekérdezéssel, amely kiszámítja az egyes értékesítők statisztikáit a vállalaton belül. Megírja a lekérdezést, és megadja, hogy az adatbázis az Értékesítő mező alapján csoportosítsa az eredményeket. Ezután bármelyik SQL összesítő függvényt használhatja az eredmények számításaihoz.
Íme egy példa. Ha végrehajtotta a következő SQL utasítást:
SELECT Értékesítő, SUM(bevétel) AS "Összesen", MIN(bevétel) AS "legkisebb", MAX(bevétel) AS "legnagyobb", AVG(bevétel) AS "átlag", COUNT(bevétel) AS " Szám' FROM Rendelések GROUP BY Értékesítő;
A következő eredményeket kapná:
Értékesítő összesen legkisebb legnagyobb átlagos szám
Jim 250000 10000 90000 50000 5
Mary 342000 24000 102000 24000 102000 24000 102000 24000 102000 30303030 680
Amint láthatja, ez a hatékony funkció lehetővé teszi, hogy rövid jelentéseket készítsen egy SQL-lekérdezésből, értékes üzleti intelligenciát biztosítva a teljesítményértékelést végző vezetőnek. A GROUP BY záradékot gyakran használják erre a célra az adatbázisokban, és értékes eszköz a DBA trükkjei között.