Gruppierung


Die Gruppierung in SQL ermöglicht es, Zeilen gruppenweise zusammenzufassen. Aggregatfunktionen (unten beschrieben) erlauben in der Folge dann weitere Aktionen. Wollen wir zum Beispiel herausfinden, wie viele Bestellungen jeder einzelne Kunde getätigt hat, ist das mit dem aktuellen Wissensstand mit einer Abfrage nicht möglich.

Die Gruppierung funktioniert in SQL mit dem Schlüsselwort GROUP BY. Im SELECT können, wenn ein GROUP BY verwendet wird, nur mehr Spalten angegeben werden, nach denen in der GROUP BY-Klausel gruppiert wurde, außer, die Spalten werden innerhalb einer Aggregatfunktion verwendet.

Ein Beispiel für eine SQL Abfrage mit einer Gruppierung: 

SELECT articleId, name, COUNT (*) AS Bestellungen FROM article INNER JOIN orderarticle ON id = articleId GROUP BY articleId, name;
text/x-csharp

Die Ausgabe sieht dann folgendermaßen aus:

In diesem Beispiel wurde bereits die Aggregatfunktion COUNT verwendet. Es wird zuerst nach der ID des Artikel und dessen Name gruppiert und anschließend werden mit COUNT alle Einträge (= Bestellungen) gezählt. Bei COUNT kann man in der Klammer sowohl den * angeben, als auch COUNT(id) verwenden, da die Anzahl der Einträge die Gleiche ist. Bei den Aggregatfunktionen MAX(), MIN(), AVG() und SUM() dagegen, ist es immer wichtig, welche Spalte angegeben wird, da hier die Werte, die in den Feldern stehen, von Bedeutung sind. Wie erwartet, gibt die Funktion MAX() den maximalen Wert innerhalb der Gruppierung zurück, MIN() den minimalen, AVG() berechnet den Durchschnitt und SUM() rechnet alle Werte innerhalb der Gruppierung zusammen.

HAVING Klausel

Tutorial zur Einschränkung von Gruppierungen mithilfe der HAVING Klausel

SELECT Statement

Tutorial zum SELECT Statement inkl. Erklärung zur Auswahl der ersten Zeilen.

INNER JOIN

Tutorial zu Abfragen auf mehreren Tabellen mit JOINs, insbesondere dem INNER JOIN

Subquery

Tutorial zu Unterabfragen/Subqueries mit Beispiel

SQL Tutorials

Hast du noch Fragen oder bist dir bei einer Aufgabe unsicher? Wirf einen Blick auf die SQL Tutorials!

Übersicht der Katas

Hier findest du die Erklärung zum Begriff "Katas" und eine Übersicht aller Programmierübungen.

Dojo - virtueller Übungsraum

Löse die Dojo-Aufgaben und werde Programmier-Profi!

Du suchst deine nächste Herausforderung?

Du findest sie im SQL Dojo!

SQL Dojo

Über Digital Dojo

Das Digital Dojo ist der virtuelle Übungsraum von COUNT IT.

Angehende Programmierer*innen, Code-Neulinge, Wiedereinsteiger*innen und Fortgeschrittene finden hier das nötige Rüstzeug für ihre Karriere.

Du möchtest deine Lehre bei COUNT IT starten? Dann bist du hier richtig - besiege deine Gegner im Dojo Game und sichere dir deine Lehrstelle!

Inspire your career.

Newsletter abonnieren

Der COUNT IT Newsletter liefert viermal jährlich interessante Neuigkeiten über das Unternehmen. Gleich anfordern!