logo

MySQL GROUP BY-Klausel

Die MYSQL-GROUP-BY-Klausel wird verwendet, um Daten aus mehreren Datensätzen zu sammeln und das Ergebnis nach einer oder mehreren Spalten zu gruppieren. Es wird im Allgemeinen in einer SELECT-Anweisung verwendet.

Sie können auch einige Aggregatfunktionen wie COUNT, SUM, MIN, MAX, AVG usw. für die gruppierte Spalte verwenden.

Syntax:

 SELECT expression1, expression2, ... expression_n, aggregate_function (expression) FROM tables [WHERE conditions] GROUP BY expression1, expression2, ... expression_n; 

Parameter

Ausdruck1, Ausdruck2, ... Ausdruck_n: Es gibt die Ausdrücke an, die nicht in einer Aggregatfunktion gekapselt sind und in der GROUP BY-Klausel enthalten sein müssen.

Aggregatfunktion: Es gibt eine Funktion wie SUM, COUNT, MIN, MAX oder AVG usw. an. Tabellen: Es gibt die Tabellen an, aus denen Sie die Datensätze abrufen möchten. In der FROM-Klausel muss mindestens eine Tabelle aufgeführt sein.

WO-Bedingungen: Es ist optional. Es gibt die Bedingungen an, die erfüllt sein müssen, damit die Datensätze ausgewählt werden.

(i) MySQL GROUP BY-Klausel mit COUNT-Funktion

Stellen Sie sich eine Tabelle mit dem Namen „Officers“-Tabelle vor, die die folgenden Datensätze enthält.

MySQL-Gruppe nach Klausel 1

Zählen wir nun die sich wiederholende Anzahl von Städten in der Spalte Adresse.

Führen Sie die folgende Abfrage aus:

 SELECT address, COUNT(*) FROM officers GROUP BY address; 

Ausgabe:

MySQL-Gruppe nach Klausel 2

(ii) MySQL GROUP BY-Klausel mit SUM-Funktion

Nehmen wir eine Tabelle „Mitarbeiter“ mit den folgenden Daten.

MySQL-Gruppe nach Klausel 3

Die folgende Abfrage gruppiert nun das Beispiel mithilfe der SUM-Funktion und gibt den Emp_Namen und die Gesamtarbeitszeit jedes Mitarbeiters zurück.

Führen Sie die folgende Abfrage aus:

 SELECT emp_name, SUM(working_hours) AS 'Total working hours' FROM employees GROUP BY emp_name; 

Ausgabe:

MySQL-Gruppe nach Klausel 4

(iii) MySQL GROUP BY-Klausel mit MIN-Funktion

Das folgende Beispiel gibt die Mindestarbeitszeit der Mitarbeiter aus der Tabelle „Mitarbeiter“ an.

Führen Sie die folgende Abfrage aus:

 SELECT emp_name, MIN(working_hours) AS 'Minimum working hour' FROM employees GROUP BY emp_name; 

Ausgabe:

MySQL-Gruppe nach Klausel 5

(iv) MySQL GROUP BY-Klausel mit MAX-Funktion

Das folgende Beispiel gibt die maximale Arbeitszeit der Mitarbeiter aus der Tabelle „Mitarbeiter“ an.

Führen Sie die folgende Abfrage aus:

 SELECT emp_name, MAX (working_hours) AS 'Minimum working hour' FROM employees GROUP BY emp_name; 

Ausgabe:

MySQL-Gruppe nach Klausel 6

(v) MySQL GROUP BY-Klausel mit AVG-Funktion

Das folgende Beispiel gibt die durchschnittliche Arbeitszeit der Mitarbeiter aus der Tabelle „Mitarbeiter“ an.

Führen Sie die folgende Abfrage aus:

 SELECT emp_name, AVG(working_hours) AS 'Average working hour' FROM employees GROUP BY emp_name; 

Ausgabe:

MySQL-Gruppe nach Klausel 7