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

mySql SQL-Abfrageoperation für statistische Mengen

Ich werde nicht viel Unsinn erzählen, schauen wir...

Einführung in die JWT-Verifizierung mit Nginx und Lua

Inhaltsverzeichnis Vorwort Lua-Skript nignx.conf-...

Problem mit der Iframe-QRC-Zuweisung (serverseitig)

Ich bin heute auf dieses Problem gestoßen. Ich hab...

Detaillierte Erklärung zum Anpassen des Linux-Befehlsverlaufs

Der Befehl „Bash History“ im Linux-System hilft d...

Mehrere Grundsätze für die Produktdesign-Referenz auf Websites

In der folgenden Analyse geht es um Produktdesign...

Eine kurze Analyse des HTML-Space-Codes

Wie gut kennen Sie sich mit HTML aus? Wenn Sie jet...

Anfänger lernen einige HTML-Tags (3)

Verwandte Artikel: Anfänger lernen einige HTML-Ta...

Einführung in die Anwendung der HTML-Tags superscript sup und subscript sub

HTML-Tag: hochgestellt In HTML definiert das <s...

Detaillierte Erklärung der HTML-Formularelemente (Teil 2)

HTML-Eingabeattribute Das Value-Attribut Das Valu...

Beispiel für die Migration einer MySQL-Online-Protokollbibliothek

Ich möchte Ihnen von einem aktuellen Fall erzähle...

Ist Ihre Website für IE8 geeignet?

Während der Olympischen Spiele wird IE 8 Beta 2 ve...