Zusammenfassung: In diesem Tutorial erfahren Sie, wie Sie die Oracle GROUP BY – Klausel verwenden, um Zeilen in Gruppen zu gruppieren.

Einführung in die Oracle GROUP BY-Klausel

DieGROUP BY – Klausel wird in einer SELECT – Anweisung verwendet, um Zeilen in einer Reihe von Zusammenfassungszeilen nach Werten von Spalten oder Ausdrücken zu gruppieren. GROUP BY Klausel gibt eine Zeile pro Gruppe.,

DieGROUP BY – Klausel wird häufig mit Aggregatfunktionen wie AVG(), COUNT(), MAX(), MIN() und SUM()verwendet. In diesem Fall gibt die Aggregatfunktion die zusammenfassenden Informationen pro Gruppe zurück. Bei bestimmten Produktgruppen in mehreren Kategorien gibt die Funktion AVG() beispielsweise den Durchschnittspreis von Produkten in jeder Kategorie zurück.,

Das Folgende veranschaulicht die Syntax der Oracle-Klausel GROUP BY:

Nach der Klausel FROM wird die Klausel FROM angezeigt., Falls die WHERE Klausel angezeigt wird, muss die GROUP BY Klausel nach der WHERE Klausel platziert werden, wie in der folgenden Abfrage gezeigt:

Die GROUP BY Klausel gruppiert Zeilen nach Werten in den Gruppierungsspalten wie c1, und c3. DieGROUP BY Klausel darf nur Aggregate oder Gruppierungsspalten enthalten.,

Wenn Sie mehrere Ebenen der Gruppierung angeben möchten, die auf einmal berechnet werden sollen, verwenden Sie die folgende ROLLUP Syntax:

Bitte überprüfen Sie die ROLLUP Tutorial für weitere Informationen.,

Diese Anweisung hat den gleichen Effekt wie die folgende Anweisung, die den Operator DISTINCT verwendet:

B) Oracle GROUP BY mit einer Aggregatfunktion Beispiel

Die folgende Anweisung gibt die Anzahl der Bestellungen von Kunden zurück:

In diesem Beispiel gruppierten wir die Bestellungen nach Kunden und verwendeten die Funktion COUNT(), um die Anzahl der Bestellungen pro Gruppe zurückzugeben.,

Um aussagekräftigere Daten zu erhalten, können Sie die orders Tabelle mit der customers Tabelle wie folgt verbinden:

Hier ist das Ergebnis:

C) Oracle GROUP BY mit einem Ausdruck example

Im folgenden Beispiel werden die Bestellungen nach Jahr gruppiert und die Anzahl der Bestellungen pro Jahr zurückgegeben.

In diesem Beispiel haben wir die Funktion EXTRACT() verwendet, um die Jahresinformationen aus den Bestelldaten abzurufen.,

Im Gegensatz zu den vorherigen Beispielen haben wir einen Ausdruck verwendet, der das Jahr in der Klausel GROUP BY zurückgibt.,Das folgende Bild veranschaulicht das Ergebnis:

D) Oracle GROUP BY with WHERE clause example

Dieses Beispiel verwendet die GROUP BY Klausel mit einer WHERE Klausel, um die Anzahl der versandten Bestellungen für jeden Kunden:

Hier ist die Ausgabe:

Beachten Sie, dass das Orakel die Bedingung immer in der Klausel WHERE vor der Klausel GROUP BY auswertet.,

E) Oracle GROUP BY mit ROLLUP-Beispiel

Die folgende Anweisung berechnet den Verkaufsbetrag und gruppiert ihn nach customer_id, und (customer_id, ):

In diesem Tutorial haben Sie gelernt, wie Sie mit der Oracle GROUP BY – Klausel Zeilen in Gruppen gruppieren.

  • War dieses tutorial hilfreich?
  • YesNo