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.
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:
(ii) MySQL GROUP BY-Klausel mit SUM-Funktion
Nehmen wir eine Tabelle „Mitarbeiter“ mit den folgenden Daten.
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:
(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:
(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:
(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: