Erklären Sie kurz die Verwendung von „group by“ in SQL-Anweisungen

Erklären Sie kurz die Verwendung von „group by“ in SQL-Anweisungen

1. Übersicht

Gruppieren nach bedeutet, Daten nach den Regeln von nach zu gruppieren. Das sogenannte Gruppieren bedeutet, den Datensatz in mehrere „kleine Gruppen“ aufzuteilen und diese entsprechend zu verarbeiten.

2. Grammatikregeln

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

3. Beispiele

Wir haben eine Auftragstabelle wie diese:

Wir möchten den Gesamtbetrag der Bestellung jedes Benutzers ermitteln. Hierzu können wir „group by“ verwenden:

Wählen Sie „Kunde, Summe(Bestellpreis)“ als Gesamtpreisgruppierung nach Kunde;

Es wird der folgende Ergebnissatz angezeigt:
Bush 2000
Fuhrmann 1700
Adams 2000
Tatsächlich werden die Daten zuerst nach Kunden gruppiert, dann wird die Summe der Bestellpreise jeder Gruppe berechnet und schließlich wird jede Gruppe als Zeile angezeigt.
Wenn Sie die Group-By-Anweisung entfernen, werden die folgenden Ergebnisse angezeigt:

Es geht darum, alle Preise zu addieren, um den Endbetrag zu erhalten, der von unseren Erwartungen abweicht.

4. Hinweis

Wenn Folgendes angezeigt wird:

Kategorie auswählen, Summe(Menge) als Summe der Menge, Zusammenfassung von A, nach Kategorie gruppieren, nach Kategorie sortieren, absteigend

Es wird ein Fehler gemeldet, da das ausgewählte Feld entweder nach „group by“ als Grundlage für die Gruppierung aufgenommen oder in eine Aggregatfunktion einbezogen werden muss, da die Zusammenfassungsspalte sonst keiner Zeile entsprechen kann.
Daher kann Folgendes verwendet werden:

Kategorie auswählen, Summe (Menge) ALS Summe der Mengen aus AGruppe nach Kategorie Sortieren nach Summe (Menge) absteigend

Wenn Sie nach mehreren Spalten gruppieren möchten, können Sie die Syntax „Nach allen gruppieren“ verwenden:

Wählen Sie Customer, OrderDate, sum(OrderPrice) aus, gruppieren Sie nach allen Customer, OrderDate

5. Der Unterschied zwischen Wo und Haben

where dient zum Entfernen von Zeilen, die die Where-Bedingung nicht erfüllen, bevor die Abfrage gruppiert wird, d. h. zum Filtern von Daten vor der Gruppierung. Die Where-Bedingung darf keine Aggregatfunktionen enthalten.
Having dient zum Filtern der Gruppen, die die Bedingungen erfüllen, also zum Filtern der Daten nach der Gruppierung. Die Having-Anweisung enthält häufig Aggregatfunktionen und wird zum Herausfiltern bestimmter Gruppen verwendet.
Beispiel:

Wählen Sie „Kunde, Summe(Bestellpreis)“ als Gesamtpreisgruppe nach Kunde mit Gesamtpreis > 1700.

Das Obige ist der vollständige Inhalt dieses Artikels. Ich hoffe, er wird für jedermanns Studium hilfreich sein. Ich hoffe auch, dass jeder 123WORDPRESS.COM unterstützen wird.

Das könnte Sie auch interessieren:
  • Dieser Artikel zeigt Ihnen, wie Sie „Group By“ in der Datenbank verwenden
  • MySQL-Gruppierungsmethode für die Gruppierungssequenz einzelner Wörter und die Gruppierung mehrerer Felder
  • Tutorial zur Verwendung von „Group by“ in Pymongo

<<:  Starten Sie den Docker-Dienst neu, um den automatischen Start- und Stoppbefehl anzuwenden (empfohlen)

>>:  Lernen Sie, wie Sie mit vscode eine React-Native-Entwicklungsumgebung erstellen

Artikel empfehlen

Was tun, wenn der von Docker Run gestartete Container hängt und Daten verliert?

Szenariobeschreibung In einem bestimmten System w...

Eine benutzerfreundliche Alternative in Linux (Befehl fd)

Der Befehl fd bietet eine einfache und unkomplizi...

Eine kurze Diskussion über den gesamten Prozess des ersten Renderings von Vue

Inhaltsverzeichnis 1. Vue-Initialisierung Vue-Ein...

JavaScript implementiert eine Seiten-Scrolling-Animation

Inhaltsverzeichnis Erstellen eines Layouts CSS-St...

Java importiert Daten aus Excel in MySQL

Manchmal müssen wir bei unserer tatsächlichen Arb...

Standardzusammenfassung zur Analyse der Leistung einer SQL-Anweisung

In diesem Artikel wird die Verwendung von „Explai...

Zusammenfassung der allgemeinen Docker-Befehle und Tipps

Installationsskript Ubuntu / CentOS Es scheint ei...

Sublime Text - Empfohlene Methode zum Festlegen von Browser-Tastenkombinationen

Codeeffekte werden häufig in unterschiedlichen Br...

Detaillierte Erklärung der Box-Größe in CSS3 (Content-Box und Border-Box)

Box-Größe in CSS3 (Inhaltsbox und Rahmenbox) Mit ...