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

Vier Möglichkeiten, CSS und HTML zu kombinieren

(1) Jedes HTML-Tag hat ein Attribut style, das CS...

Detailliertes Tutorial zur Installation von Anaconda3 auf Ubuntu 18.04

Anaconda bezeichnet eine Open-Source-Python-Distr...

Analyse des Implementierungsprozesses der Docker-Container-Orchestrierung

In tatsächlichen Entwicklungs- oder Produktionsum...

Optimierte Implementierung von count() für große MySQL-Tabellen

Das Folgende ist mein Urteil basierend auf der Da...

So ändern Sie Port 3389 des Remotedesktops von Windows Server 2008 R2

Die Standardportnummer des Remotedesktops des Win...

HTML-Seite unterstützt die Implementierung des Dunkelmodus

Seit 2019 verwenden sowohl Android- als auch iOS-...

Problem beim Testen des nicht autorisierten Zugriffs auf Zookeeper

Inhaltsverzeichnis Vorwort Erkennen des geöffnete...

Entwicklungshandbuch für Chrome-Plugins (Erweiterungen) (vollständige Demo)

Inhaltsverzeichnis Vorne geschrieben Vorwort Was ...

So erkennen Sie die Ubuntu-Version mithilfe der Befehlszeile

Methode 1: Verwenden Sie das Dienstprogramm lsb_r...

mysql 5.7.18 winx64 Passwort ändern

Nachdem MySQL 5.7.18 erfolgreich installiert wurd...

Vergleichende Analyse von IN und Exists in MySQL-Anweisungen

Hintergrund Als ich kürzlich SQL-Anweisungen schr...