Wenn eine große Datenmenge vorhanden ist, sehen wir häufig die Möglichkeit, Daten gemäß unseren Anforderungen zu bearbeiten. Die GROUP BY-Klausel ist eine solche , wird verwendet, um die Daten basierend auf wenigen Spalten oder Bedingungen zu gruppieren. In diesem Artikel zur SQL-Anweisung GROUP BY werde ich einige Möglichkeiten zur Verwendung der Anweisungen GROUP BY in der folgenden Reihenfolge erläutern:
Bevor wir uns den Beispielen zur Verwendung der GROUP BY-Klausel zuwenden, wollen wir 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 Anweisung GROUP BY 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 verwendet um die Ergebnismenge basierend auf den Bedingungen zu gruppieren.
SQL GROUP BY-Syntax
SELECT Column1, Column2, ..., ColumnN FROM TableName WHERE Bedingung GROUP BY ColumnName (s) ORDER BY ColumnName (s)
Hier können Sie die Aggregatfunktionen vor den Spaltennamen sowie eine HAVING-Klausel am Ende der Anweisung hinzufügen, um eine Bedingung zu erwähnen.Lassen Sie uns als Nächstes in diesem Artikel zu SQL GROUP BY verstehen, wie diese Anweisung implementiert wird.
Beispiele:
Zum besseren Verständnis habe ich die Beispiele in folgende Abschnitte unterteilt:
Ich werde die folgende Tabelle betrachten, um Ihnen die Beispiele zu erklären:
EmpID | EmpName | EmpEmail | Telefonnummer | Gehalt | Stadt |
ein | Nidhi | nidhi@sample.com | 9955669999 | 50.000 | Mumbai |
2 | Anay | anay@sample.com | 9875679861 | 55000 | Stellen |
3 | Rahul | rahul@sample.com | 9876543212 | 35000 | Delhi |
4 | Sonia | sonia@sample.com | 9876543234 | 35000 Java Parse String bis heute | Delhi |
5 | Akash | akash@sample.com | 9866865686 | 25000 | Mumbai |
Schauen wir uns jeden einzelnen an.
Verwenden Sie SQL GROUP BY für eine einzelne Spalte
Beispiel:
Schreiben Sie eine Abfrage, um die Anzahl der Mitarbeiter in jeder Stadt abzurufen.
SELECT COUNT (EmpID), Stadt FROM Employees GROUP BY City
Ausgabe:
Sie sehen die folgende Ausgabe:
Count (EmpID) | Stadt |
2 | Delhi |
2 | Mumbai |
ein | Stellen |
Verwenden Sie SQL GROUP BY für mehrere Spalten
Beispiel:
Schreiben Sie eine Abfrage, um die Anzahl der Mitarbeiter mit unterschiedlichen Gehältern in jeder Stadt abzurufen.
SELECT City, Gehalt, Count (*) FROM Employees GROUP BY City, Gehalt
Ausgabe:
Die Tabelle enthält die folgenden Daten:
Stadt | Gehalt | Anzahl(*) |
Delhi | 35000 | 2 |
Mumbai | 25000 | ein |
Mumbai | 50.000 | ein |
Stellen | 55000 | ein |
Verwenden Sie SQL GROUP BY mit ORDER BY
Wenn wir die SQL GROUP BY-Anweisung mit dem verwenden ORDER BY-Klausel werden die Werte entweder in aufsteigender oder absteigender Reihenfolge sortiert.
Beispiel:
Schreiben Sie eine Abfrage, um die Anzahl der Mitarbeiter in jeder Stadt in absteigender Reihenfolge abzurufen.
SELECT COUNT (EmpID), Stadt FROM Employees GROUP BY City ORDER BY COUNT (EmpID) DESC
Ausgabe:
Die Tabelle enthält die folgenden Daten:
Count (EmpID) | Stadt |
2 | Delhi |
2 | Mumbai |
ein | Stellen |
Verwenden Sie SQL GROUP BY mit der HAVING-Klausel
Die SQL-Anweisung GROUP BY wird mit der Klausel 'HAVING' verwendet, um Bedingungen für Gruppen zu erwähnen.Da wir die Aggregatfunktionen nicht mit der WHERE-Klausel verwenden können, müssen wir auch die 'HAVING'-Klausel verwenden, um die Aggregatfunktionen mit GROUP BY zu verwenden.
Beispiel:
Schreiben Sie eine Abfrage, um die Anzahl der Mitarbeiter in jeder Stadt mit einem Gehalt von> 15000 abzurufen
SELECT COUNT (EmpID), Stadt VON MITARBEITERGRUPPE NACH STADT MIT GEHALT> 15000
Ausgabe:
Da alle Datensätze in der Employee-Tabelle ein Gehalt> 15000 haben, wird die folgende Tabelle als Ausgabe angezeigt:
Count (EmpID) | Stadt |
2 | Delhi |
2 | Mumbai |
ein | Stellen |
Verwenden Sie GROUP BY mit JOINS
sind SQL Anweisungen, die zum Kombinieren von Zeilen aus zwei oder mehr Tabellen verwendet werden, 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:
ProjectID | EmpID | Kunden ID | Projektdatum |
2. 3. 4. 5 | ein | 4 | 26.01.2019 |
9876 | 2 | 5 | 28.02.2019 |
3456 | 3 | 6 | 03-12-2019 |
Kundentabelle:
Kunden ID | 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 | RequestedProjects |
Arun | ein |
Rohan | ein |
Sanjana | ein |
Damit sind wir am Ende des SQL GROUP BY-Artikels angelangt. Schau dir das an von Edureka, einem vertrauenswürdigen Online-Lernunternehmen mit einem Netzwerk oder f Mehr als 250.000 zufriedene Lernende auf der ganzen Welt. Dieser Kurs schult Sie in den Kernkonzepten und fortgeschrittenen Tools und Techniken zum Verwalten von Daten und Verwalten der MySQL-Datenbank. Es umfasst praktische Informationen zu Konzepten wie MySQL Workbench, MySQL Server, Datenmodellierung, MySQL Connector, Datenbankdesign, MySQL-Befehlszeile, MySQL-Funktionen usw. Nach Abschluss der Schulung können Sie Ihre eigene MySQL-Datenbank erstellen und verwalten Daten verwalten.
Hast du eine Frage an uns? Bitte erwähnen Sie dies im Kommentarbereich dieses Artikels „SQL GROUP BY“. Wir werden uns so schnell wie möglich bei Ihnen melden.