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

Anfänger verstehen das MySQL-Deadlock-Problem anhand des Quellcodes

Nach vielen schwierigen Einzelschritt-Debuggings ...

Eine einfache Möglichkeit zum Erstellen einer Docker-Umgebung

Lassen Sie uns zunächst verstehen, was Docker ist...

JavaScript zum Filtern von Arrays

In diesem Artikelbeispiel wird der spezifische Co...

So löschen und deinstallieren Sie MySQL in Windows 10 vollständig

Vorwort Dieser Artikel enthält eine Anleitung zum...

Ein Leistungsfehler bei MySQL-Partitionstabellen

Inhaltsverzeichnis 2. Stapelanalyse mit pt-pmap 3...

Von Vue berechnete Eigenschaften

Inhaltsverzeichnis 1. Grundlegende Beispiele 2. B...

vue_drf implementiert SMS-Bestätigungscode

Inhaltsverzeichnis 1. Nachfrage 1. Nachfrage 2. S...