# 5.2 GROUP BY

**Definition**

**GROUP BY** fasst Datensätze mit gleichen Werten zu Gruppen zusammen.

Es wird häufig zusammen mit **Aggregatfunktionen** verwendet.

---

**Grundaufbau**

```sql
SELECT spalte, aggregatfunktion
FROM tabelle
GROUP BY spalte;
```

---

**Beispiel**

```sql
SELECT ort, COUNT(*)
FROM kunde
GROUP BY ort;
```

Bedeutung:

Die Kunden werden nach **Ort** gruppiert.  
Für jeden Ort wird die Anzahl der Kunden gezählt.

---

**Typische Verwendung**

**GROUP BY** wird verwendet für:

- Anzahl pro Gruppe
- Summe pro Gruppe
- Durchschnitt pro Gruppe
- kleinster oder größter Wert pro Gruppe

---

**Beispiel mit SUM**

```sql
SELECT kundennr, SUM(betrag)
FROM rechnung
GROUP BY kundennr;
```

Bedeutung:

Für jeden Kunden wird die Summe seiner Rechnungsbeträge berechnet.

---

**Merksatz**

GROUP BY bildet Gruppen aus Datensätzen.

---

**Prüfungshinweis**

In IHK-Aufgaben wird **GROUP BY** häufig zusammen mit **COUNT**, **SUM** oder **AVG** verwendet.

Typische Fehler:

- GROUP BY vergessen.
- GROUP BY mit ORDER BY verwechseln.
- WHERE und HAVING verwechseln.
- Spalten im SELECT verwenden, die nicht gruppiert oder aggregiert sind.

---

**Quellen**

- IT-Handbuch für Fachinformatiker