Database
 sql >> Datenbank >  >> RDS >> Database

Was ist die Verwendung der SQL GROUP BY-Anweisung?

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:

  1. GROUP BY-Anweisung
  2. Syntax
  3. 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

[email protected]

9955669999

50000

Mumbai

2

Anay

[email protected]

9875679861

55000

Pune

3

Rahul

[email protected]

9876543212

35000

Delhi

4

Sonia

[email protected]

9876543234

35000

Delhi

5

Akash

[email protected]

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.