Heim >Datenbank >MySQL-Tutorial >Warum gibt meine SQL-Abfrage „GROUP BY' ohne Aggregatfunktionen einen Fehler zurück?
GROUP BY-Funktion ohne Aggregatfunktionen
Das Verständnis der GROUP BY-Operation kann eine Herausforderung sein, insbesondere wenn Aggregatfunktionen ausgeschlossen werden. Dieser Artikel befasst sich eingehend mit dem Konzept und seinen Auswirkungen.
Im bereitgestellten Beispiel haben Sie versucht, eine GROUP BY-Operation für die EMP-Tabelle ohne Aggregatfunktionen auszuführen, was zu mehreren Fehlern führte. Die Fehlermeldung „Kein GROUP BY-Ausdruck“ weist darauf hin, dass die in der GROUP BY-Klausel angegebenen Spalten mit den in der SELECT-Anweisung ausgewählten Spalten übereinstimmen müssen.
Um zu verstehen, warum dies notwendig ist, ist es wichtig zu verstehen, wie GROUP BY wandelt mehrere Zeilen in eine einzelne Zeile um. Beim Kombinieren von Zeilen ist eine Anleitung zum Umgang mit Spalten mit unterschiedlichen Werten erforderlich. Daher muss jede Spalte, die Sie in die SELECT-Anweisung aufnehmen, entweder:
Betrachten Sie beispielsweise die folgende Tabelle:
Name | OrderNumber ------------------ John | 1 John | 2
Wenn Sie ein GROUP BY nur für den Namen ausführen, erfordert das Ergebnis eine Regel zur Auswahl der Bestellnummer. Die Optionen sind:
OrderNumber in die GROUP BY-Klausel aufnehmen: Dies erzeugt zwei Zeilen:
Verwenden Sie eine Aggregatfunktion:
Durch den Abgleich der Spalten in den SELECT- und GROUP BY-Anweisungen stellt Oracle eine konsistente Datenmanipulation sicher und vermeidet Mehrdeutigkeiten.
Das obige ist der detaillierte Inhalt vonWarum gibt meine SQL-Abfrage „GROUP BY' ohne Aggregatfunktionen einen Fehler zurück?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!