Lektion 7: Datensätze in Gruppen zusammenfassen

Wie berechnet man zu jedem Produkt die durchschnittliche Bewertung? Welcher Kunde hat die meisten Produkte bestellt oder den größten Umsatz generiert? Um solche Fragen zu beantworten, lernen Sie in dieser Lektion alle Datensätze, die z. B. zum gleichen Produkt oder zum gleichen Kunden gehören, in einer Gruppe zusammenzufassen.

Kurzbeschreibung der Datenbank Onlineshop

Die Datenbank enthält eine Tabelle Kunden und eine Tabelle Produkte mit Daten zu den Kundinnen und Kunden eines fiktiven Onlineshops bzw. zu den angebotenen Produkten.
In zwei weiteren Tabellen Bestellungen und Bestellpositionen werden die Daten zu den Bestellungen der Kundinnen und Kunden verwaltet. Die Tabelle Bestellungen enthält Daten, die die gesamte Bestellung betreffen, während die Tabelle Bestellpositionen einen Datensatz für jedes bestellte Produkt mit der entsprech Menge enthält und dieses einer Bestellung zuordnet.
Kundinnen und Kunden können Produkte auf einer Skala von 1 bis 5 bewerten und einen Kommentar dazu erstellen. Die entsprechenden Daten speichert die Tabelle Bewertungen.
Die Daten, die in der Datenbank gespeichert sind, stellen eine exemplarische, aber fiktive Auswahl typischer Daten dar, die in einer Datenbank eines Onlineshops zu finden sind.
Eine Übersicht über die Attribute der einzelnen Tabellen sowie die Beziehungen der Tabellen untereinander zeigt das realtionale Datenbankschema.

Lernaufgaben zur Datenbank Onlineshop

Die Zusammenfassung von Datensätzen zu einer Gruppe erfolgt mithilfe des Schlüsselworts GROUP BY gefolgt von einem Attribut. Die GROUP BY-Klausel wird zwischen der WHERE- und der ORDER BY-Klausel eingefügt:
SELECT ...
FROM ...
WHERE ...
GROUP BY Attribut
ORDER BY ...
LIMIT ...
Alle Datensätze, die für das in der GROUP BY-Klausel angegebene Attribut den gleichen Wert haben, werden zu einer Gruppe zusammengefasst. Für jede Gruppe wird ein Datensatz bzw. eine Zeile ausgegeben.
Eine Gruppierung von Datensätzen wird in der Regel in Kombination mit einer Aggregatfunktion in der SELECT-Klausel verwendet. Die Aggregatfunktion berechnet dann den entsprechenden Wert für jede Gruppe.
Das Attribut aus der GROUP BY-Klausel darf ebenfalls in der SELECT-Klausel angegeben werden. Andere Attribute dürfen nicht ausgegeben werden, da sie für die Datensätze einer Gruppe unterschiedliche Werte haben können. I) Geben Sie eine SQL-Anweisung ein, welche die Datensätze der Tabelle Produkte nach dem Attribut Kategorie gruppiert. Lassen Sie für jede Gruppe die Kategorie und den Gesamtbestand an Produkten im Lager ausgeben.