SQL GROUP BY ausführliche Erklärung und einfaches Beispiel

SQL GROUP BY ausführliche Erklärung und einfaches Beispiel

Die GROUP BY-Anweisung wird in Verbindung mit der Aggregatfunktion verwendet, um den Ergebnissatz basierend auf einer oder mehreren Spalten zu gruppieren.

SQL GROUP BY-Syntax

SELECT Spaltenname, Aggregatfunktion(Spaltenname)
FROM Tabellenname
WHERE Spaltenname Operatorwert
GROUP BY Spaltenname;

Demo-Datenbank

In diesem Tutorial verwenden wir die bekannte Beispieldatenbank Northwind.

Hier sind die aus der Tabelle „Bestellungen“ ausgewählten Daten:

Bestell-Nr Kunden-ID Mitarbeiter-ID Bestelldatum Versender-ID
10248 90 5 04.07.1996 3
10249 81 6 05.07.1996 1
10250 34 4 08.07.1996 2

Daten aus der Tabelle „Versender“:

Versender-ID ShipperName Telefon
1 Speedy Express (503) 555-9831
2 United-Paket (503) 555-3199
3 Bundesversand (503) 555-9931

Ausgewählte Daten aus der Tabelle „Mitarbeiter“:

Mitarbeiter-ID Nachname Vorname Geburtsdatum Foto Hinweise
1 Davolio Nancy 08.12.1968 EmpID1.pic Die Ausbildung umfasst einen BA...
2 Fuller Andreas 19.02.1952 EmpID2.pic Andrew hat sein BTS erhalten....
3 Nivellierung Janet 30.08.1963 EmpID3.pic Janet hat einen Bachelor-Abschluss....

SQL GROUP BY-Beispiel

Nun möchten wir die Anzahl der von jedem Zusteller ausgelieferten Bestellungen ermitteln.

Die folgende SQL-Anweisung klassifiziert und zählt Bestellungen nach Zusteller:

Wählen Sie Shippers.ShipperName,COUNT(Orders.OrderID) AS NumberOfOrders FROM Orders
LINKS BEITRETEN Versender
ON Bestellungen.VersenderID=Versender.VersenderID
GRUPPE NACH Versendername;

GROUP BY mehr als eine Spalte

Wir können die GROUP BY-Klausel auch auf mehr als eine Spalte anwenden, wie unten gezeigt:

Wählen Sie Shippers.ShipperName, Employees.LastName,
ANZAHL(Bestellungen.Bestell-ID) AS AnzahlBestellungen
AB ((Bestellungen
INNER JOIN-Versender
ON Bestellungen.Versender-ID = Versender.Versender-ID)
INNER JOIN Mitarbeiter
ON Aufträge.Mitarbeiter-ID = Mitarbeiter.Mitarbeiter-ID)
GRUPPE NACH Versendername, Nachname;

Vielen Dank fürs Lesen, ich hoffe, es kann Ihnen helfen, danke für Ihre Unterstützung dieser Site!

Das könnte Sie auch interessieren:
  • Mysql verwendet eine gruppenweise Sortierung
  • Lösung für den MySQL 5.7-Fehler 1055 beim Gruppieren nach neuer Funktion
  • Der Unterschied zwischen Order By und Group By in SQL
  • MySQL-Gruppe mit Beispielcode
  • Detaillierte Erklärung der Verwendung von MYSQL GROUP BY
  • Falsche Verwendung der SQL-Anweisung Groupby in Mysql
  • So verwenden Sie GROUP BY in MySQL, um die ersten N Datensätze zu erhalten
  • MySQL optimiert GROUP BY (loser Index-Scan vs. kompakter Index-Scan)
  • Detaillierte Erläuterung des Implementierungsprinzips der MySQL-Gruppenabfrage Group By

<<:  Ein praktischer Bericht über den Umgang mit den in Linux-Servern implantierten Mining-Viren ddgs und qW3xT.2

>>:  Vue implementiert einen einfachen Rechner

Artikel empfehlen

JavaScript-Funktion Currying

Inhaltsverzeichnis 1 Was ist Funktions-Currying? ...

Perfekte Lösung für keine rc.local-Datei in Linux

Neuere Linux-Distributionen verfügen nicht mehr ü...

Native JS-Implementierung des Ladefortschrittsbalkens

Dieser Artikel zeigt einen Spezialeffekt für dyna...

jQuery-Plugin zur Implementierung des Dashboards

Das jQuery-Plug-In implementiert das Dashboard zu...

JavaScript-Simulationsrechner

In diesem Artikel wird der spezifische Code des J...

So implementieren Sie eine Remote-Verbindung für Redis unter Linux

Nachdem Sie Redis unter Linux installiert haben, ...

Schritte zum Öffnen des MySQL-Binlogs

Binlog ist eine binäre Protokolldatei, die zum Au...

Sieben Prinzipien eines guten Designers (1): Schriftdesign

Nun, vielleicht sind Sie ein Design-Guru, oder vie...