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