Wenn eine große Datenmenge vorhanden ist, sehen wir oft eine Möglichkeit, Daten nach unseren Anforderungen zu manipulieren. Die GROUP BY-Klausel ist eine solche Anweisung in SQL, die verwendet wird, um die Daten basierend auf wenigen Spalten oder Bedingungen zu gruppieren. In diesem Artikel über SQL GROUP BY-Anweisungen werde ich einige Möglichkeiten zur Verwendung der GROUP BY-Anweisungen in der folgenden Reihenfolge erläutern:
- GROUP BY-Anweisung
- Syntax
- Beispiele:
- GRUPPE NACH für einzelne Spalte verwenden
- GROUP BY in mehreren Spalten
- Verwenden Sie GROUP BY mit ORDER BY
- GROUP BY mit HAVING-Klausel
- Verwenden Sie GROUP BY mit JOINS
Bevor wir uns den Beispielen zur Verwendung der GROUP BY-Klausel zuwenden, lassen Sie uns verstehen, was GROUP BY in SQL und seine Syntax ist.
SQL GROUP BY-Anweisung
Diese Anweisung wird verwendet, um Datensätze mit denselben Werten zu gruppieren. Die GROUP BY-Anweisung wird häufig mit den Aggregatfunktionen verwendet, um die Ergebnisse nach einer oder mehreren Spalten zu gruppieren. Abgesehen davon wird die GROUP BY-Klausel auch mit der HAVING-Klausel und JOINS verwendet, um die Ergebnismenge basierend auf Bedingungen zu gruppieren.
SQL GROUP BY-Syntax
SELECT Column1, Column2,..., ColumnN FROM TableName WHERE Condition GROUP BY ColumnName(s) ORDER BY ColumnName(s);
Hier können Sie die Aggregatfunktionen vor den Spaltennamen und auch eine HAVING-Klausel am Ende der Anweisung hinzufügen, um eine Bedingung zu erwähnen. Lassen Sie uns als Nächstes in diesem Artikel über SQL GROUP BY verstehen, wie diese Anweisung implementiert wird.
Beispiele:
Zum besseren Verständnis habe ich die Beispiele in folgende Abschnitte unterteilt:
- GRUPPE NACH für einzelne Spalte verwenden
- GROUP BY in mehreren Spalten
- Verwenden Sie GROUP BY mit ORDER BY
- GROUP BY mit HAVING-Klausel
- Verwenden Sie GROUP BY mit JOINS
Ich werde die folgende Tabelle betrachten, um Ihnen die Beispiele zu erklären:
EmpID | EmpName | EmpEmail | Telefonnummer | Gehalt | Stadt |
1 | Nidhi | 9955669999 | 50000 | Mumbai | |
2 | Anay | 9875679861 | 55000 | Pune | |
3 | Rahul | 9876543212 | 35000 | Delhi | |
4 | Sonia | 9876543234 | 35000 | Delhi | |
5 | Akash | 9866865686 | 25000 | Mumbai |
Lassen Sie uns einen Blick auf jeden von ihnen werfen.
SQL GROUP BY für einzelne Spalte verwenden
Beispiel:
Schreiben Sie eine Abfrage, um die Anzahl der Angestellten in jeder Stadt abzurufen.
SELECT COUNT(EmpID), City FROM Employees GROUP BY City;
Ausgabe:
Sie sehen die folgende Ausgabe:
Anzahl (EmpID) | Stadt |
2 | Delhi |
2 | Mumbai |
1 | Pune |
SQL GROUP BY für mehrere Spalten verwenden
Beispiel:
Schreiben Sie eine Abfrage, um die Anzahl der Mitarbeiter abzurufen, die in jeder Stadt unterschiedliche Gehälter haben.
SELECT City, Salary, Count(*) FROM Employees GROUP BY City, Salary;
Ausgabe:
Die Tabelle enthält die folgenden Daten:
Stadt | Gehalt | Anzahl(*) |
Delhi | 35000 | 2 |
Mumbai | 25000 | 1 |
Mumbai | 50000 | 1 |
Pune | 55000 | 1 |
Verwenden Sie SQL GROUP BY mit ORDER BY
Wenn wir die SQL GROUP BY-Anweisung mit der ORDER BY-Klausel verwenden, werden die Werte entweder in aufsteigender oder absteigender Reihenfolge sortiert.
Beispiel:
Schreiben Sie eine Abfrage, um die Anzahl der Angestellten in jeder Stadt abzurufen, sortiert in absteigender Reihenfolge.
SELECT COUNT(EmpID), City FROM Employees GROUP BY City ORDER BY COUNT(EmpID) DESC;
Ausgabe:
Die Tabelle enthält die folgenden Daten:
Anzahl (EmpID) | Stadt |
2 | Delhi |
2 | Mumbai |
1 | Pune |
SQL GROUP BY mit HAVING-Klausel verwenden
Die SQL-Anweisung GROUP BY wird mit der Klausel „HAVING“ verwendet, um Bedingungen für Gruppen anzugeben. Da wir die Aggregatfunktionen nicht mit der WHERE-Klausel verwenden können, müssen wir die 'HAVING'-Klausel verwenden, um die Aggregatfunktionen mit GROUP BY zu verwenden.
Beispiel:
Schreiben Sie eine Abfrage, um die Anzahl der Angestellten in jeder Stadt abzurufen, die ein Gehalt von> 15000 haben
SELECT COUNT(EmpID), City FROM Employees GROUP BY City HAVING SALARY > 15000;
Ausgabe:
Da alle Datensätze in der Mitarbeitertabelle ein Gehalt> 15000 haben, sehen wir die folgende Tabelle als Ausgabe:
Anzahl (EmpID) | Stadt |
2 | Delhi |
2 | Mumbai |
1 | Pune |
Verwenden Sie GROUP BY mit JOINS
JOINS sind SQL-Anweisungen, die verwendet werden, um Zeilen aus zwei oder mehr Tabellen zu kombinieren, basierend auf einer verwandten Spalte zwischen diesen Tabellen. Wir können die SQL GROUP BY-Anweisung verwenden, um die Ergebnismenge basierend auf einer Spalte/Spalten zu gruppieren. Betrachten Sie die folgenden Tabellen, um die JOIN-Anweisungen mit der SQL GROUP BY-Klausel auszuführen.
Projekttabelle:
ProjektID | EmpID | Kundennummer | Projektdatum |
2345 | 1 | 4 | 26.01.2019 |
9876 | 2 | 5 | 28-02-2019 |
3456 | 3 | 6 | 03.12.2019 |
Kundentabelle:
Kundennummer | Kundenname |
4 | Sanjana |
5 | Rohan |
6 | Arun |
Beispiel
Schreiben Sie eine Abfrage, um die Anzahl der von jedem Kunden angeforderten Projekte aufzulisten:
SELECT Clients.ClientName, COUNT(Projects.ProjectID) AS RequestedProjects FROM Projects LEFT JOIN Clients ON Projects.ProjectID = Clients.ProjectID GROUP BY ClientName;
Ausgabe:
Die Tabelle enthält die folgenden Daten:
Kundenname | AngeforderteProjekte |
Arun | 1 |
Rohan | 1 |
Sanjana | 1 |
Damit kommen wir zum Ende des Artikels SQL GROUP BY. Sehen Sie sich das an MySQL-DBA-Zertifizierungsschulung von Edureka, einem vertrauenswürdigen Online-Lernunternehmen mit einem Netzwerk von mehr als 250.000 zufriedenen Lernenden auf der ganzen Welt. Dieser Kurs schult Sie in den Kernkonzepten und fortgeschrittenen Tools und Techniken zur Verwaltung von Daten und zur Verwaltung der MySQL-Datenbank. Es umfasst praktisches Lernen zu Konzepten wie MySQL Workbench, MySQL Server, Datenmodellierung, MySQL Connector, Datenbankdesign, MySQL-Befehlszeile, MySQL-Funktionen usw. Am Ende des Trainings sind Sie in der Lage, Ihre eigene MySQL-Datenbank zu erstellen und zu verwalten Daten verwalten.
Haben Sie eine Frage an uns? Bitte erwähnen Sie es im Kommentarbereich dieses „SQL GROUP BY“-Artikels und wir werden uns so schnell wie möglich bei Ihnen melden.