Tutorial: Daten zusammenfassen mit der GROUP BY-Klausel in Microsoft Access
Hier ist ein ausführliches Tutorial zur Verwendung der Group By-Klausel (Gruppierung) in Microsoft Access.
Die GROUP BY-Funktion ist eines der mächtigsten Werkzeuge in Microsoft Access. Sie ermöglicht es dir, Datensätze mit identischen Werten in bestimmten Feldern zusammenzufassen und Berechnungen (wie Summen oder Durchschnitte) für diese Gruppen durchzuführen.
1. Was ist eine Gruppierungsabfrage?
Normalerweise zeigt eine Abfrage jeden einzelnen Datensatz an. Wenn du jedoch wissen möchtest, wie hoch der Gesamtumsatz pro Kunde ist oder wie viele Artikel pro Kategorie existieren, musst du die Daten gruppieren.
2. Die Vorbereitung (Beispiel-Szenario)
Stell dir vor, du hast eine Tabelle namens Verkäufe mit folgenden Spalten:
ProduktKategorieMengePreis
3. Schritt-für-Schritt-Anleitung (Entwurfsansicht)
So erstellst du eine Gruppierungsabfrage ohne SQL-Code:
- Abfrage erstellen: Gehe auf den Reiter Erstellen und klicke auf Abfrageentwurf.
- Tabelle hinzufügen: Wähle die Tabelle
Verkäufeaus und schließe das Fenster "Tabellen anzeigen". - Felder auswählen: Doppelklicke auf die Felder, die du sehen möchtest – zum Beispiel
KategorieundPreis. - Die Gruppierung aktivieren:
- Klicke im oberen Menüband (Registerkarte "Abfrageentwurf") auf das große Symbol Σ Funktionen (Summen-Zeichen).
- In deinem Abfragegitter erscheint nun eine neue Zeile namens Funktion (oder "Total").
- Funktion festlegen:
- In der Spalte
Kategoriesteht automatisch Gruppierung. Das ist korrekt, da wir nach Kategorien sortieren wollen. - In der Spalte
Preisklickst du in die Zeile "Funktion" und änderst "Gruppierung" per Dropdown-Menü auf Summe.
- In der Spalte
- Ergebnis anzeigen: Klicke auf Ausführen (das rote Ausrufezeichen).
Ergebnis: Du siehst nun jede Kategorie nur noch einmal, daneben steht die addierte Summe aller Preise dieser Kategorie.
4. Die wichtigsten Aggregatfunktionen erklärt
Wenn du die Zeile "Funktion" nutzt, hast du verschiedene Möglichkeiten:
- Gruppierung (Group By): Fasst identische Werte zusammen.
- Summe (Sum): Addiert alle Zahlenwerte der Gruppe.
- Mittelwert (Avg): Berechnet den Durchschnitt.
- Anzahl (Count): Zählt, wie viele Datensätze in dieser Gruppe vorhanden sind.
- Min / Max: Zeigt den kleinsten oder größten Wert der Gruppe an.
- Bedingung (Where): Hiermit kannst du filtern, bevor die Gruppierung stattfindet (das Feld wird dann nicht im Ergebnis angezeigt).
5. Gruppierung in der SQL-Ansicht
Wenn du lieber mit Code arbeitest oder verstehen willst, was im Hintergrund passiert, klicke unten rechts in Access auf die SQL-Ansicht. Der Code sieht dann so aus:
SELECT Kategorie, Sum(Preis) AS GesamtUmsatz
FROM Verkäufe
GROUP BY Kategorie;
SELECT Kategorie: Das Feld, nach dem gruppiert wird.Sum(Preis): Die Berechnung.GROUP BY Kategorie: Die Anweisung, alle Zeilen mit der gleichen Kategorie zu "verschmelzen".
6. Häufige Fehler und Regeln
- Das "Nicht gruppierte" Feld: Jedes Feld, das du im
SELECT-Teil (oder im Abfragegitter) oben anzeigst, muss entweder in derGROUP BY-Zeile stehen oder eine Berechnungsfunktion (Summe, Anzahl etc.) haben.- Fehler: Du versuchst,
Kategoriezu gruppieren und dieSumme(Preis)zu zeigen, hast aber auch das FeldDatumin der Abfrage, ohne dort eine Funktion festzulegen. Access wird eine Fehlermeldung ausgeben.
- Fehler: Du versuchst,
- Unterschied WHERE und HAVING:
- WHERE filtert die Daten, bevor sie gruppiert werden (z.B. nur Verkäufe aus 2023).
- HAVING (in Access meist über das Kriterium in einer Summenspalte gelöst) filtert das Ergebnis nach der Gruppierung (z.B. zeige nur Kategorien, deren Gesamtsumme über 1000 € liegt).
Fazit
Die GROUP BY-Klausel ist unverzichtbar für Reports und Statistiken. Merk dir einfach: Aktiviere das Σ-Zeichen, wähle dein Gruppen-Feld aus und entscheide dich bei den restlichen Feldern für eine mathematische Operation.