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

MySQL implementiert den Vorgang zum Festlegen mehrerer Primärschlüssel

Benutzertabelle, ID-Nummer muss eindeutig sein, M...

Ubuntu führt regelmäßig Beispielcode eines Python-Skripts aus

Originallink: https://vien.tech/article/157 Vorwo...

Zusammenfassung gängiger Fehler beim Entwurf von MySQL-Tabellen

Inhaltsverzeichnis Fehler 1: Zu viele Datenspalte...

SQL-Implementierung von LeetCode (181. Angestellte verdienen mehr als Manager)

[LeetCode] 181.Mitarbeiter verdienen mehr als ihr...

Eine Minute, um die Laufruhe von HTML+Vue+Element-UI zu erleben

Technik-Fan html-Webseite, müssen Sie wissen Von ...

So erhalten Sie die dynamische Anzahl der verbleibenden Wörter im Textbereich

Ich bin bei der Arbeit auf einen Fall gestoßen, ü...

Einige Frontend-Grundlagen (HTML, CSS) aus der Praxis

1. Die Div-CSS-Maushandform ist Cursor:Zeiger; 2. ...

Der beste Weg, um den 1px-Rand auf Mobilgeräten zu lösen (empfohlen)

Bei der Entwicklung für Mobilgeräte tritt häufig ...

Lösung für FEHLER 1366 bei der Eingabe von Chinesisch in MySQL

Beim Eingeben von Chinesisch in MySQL tritt der f...