Heim > Datenbank > MySQL-Tutorial > Warum gibt meine SQL-Abfrage den Fehler „Keine Einzelgruppen-Gruppenfunktion' zurück?

Warum gibt meine SQL-Abfrage den Fehler „Keine Einzelgruppen-Gruppenfunktion' zurück?

Mary-Kate Olsen
Freigeben: 2024-12-21 05:38:13
Original
923 Leute haben es durchsucht

Why Does My SQL Query Return a

SQL-Funktion „keine Einzelgruppen-Gruppenfunktion“ erklärt

In SQL wird bei Verwendung einer Gruppenfunktion wie MAX die Funktion muss auf eine einzelne Datengruppe angewendet werden. Das heißt, wenn Sie den Maximalwert für eine bestimmte Spalte ermitteln möchten, müssen Sie die Daten auch nach dieser Spalte gruppieren.

Wenn Sie jedoch versuchen, eine Gruppenfunktion auf einen Ausdruck anzuwenden, der nicht gruppiert ist, Sie erhalten die Fehlermeldung „Keine Einzelgruppen-Gruppenfunktion“. Angenommen, Sie haben eine Tabelle namens „Downloads“, die eine Spalte für Downloads durch einen Kunden enthält:

SELECT MAX(SUM(TIME))
FROM downloads
GROUP BY SSN
Nach dem Login kopieren

Diese Abfrage ist gültig, da die MAX-Funktion auf eine Gruppe von Daten angewendet wird (Downloads nach SSN). . Wenn Sie jedoch versuchen, die SSN-Spalte zur Select-Anweisung hinzuzufügen, gehen Sie wie folgt vor:

SELECT SSN, MAX(SUM(TIME))
FROM downloads
GROUP BY SSN
Nach dem Login kopieren

Sie erhalten die Fehlermeldung „Keine Einzelgruppen-Gruppenfunktion“, da die SSN-Spalte nicht in der enthalten ist GROUP BY-Klausel. Dies bedeutet, dass SQL nicht ermitteln kann, zu welcher Datengruppe die SSN-Spalte gehört, und daher die MAX-Funktion nicht darauf anwenden kann.

Um diesen Fehler zu beheben, haben Sie drei Möglichkeiten:

  • Entfernen Sie die MAX-Funktion aus der SELECT-Anweisung, um die Summe der Downloads für jede SSN zu erhalten.
  • Entfernen Sie die SSN-Spalte aus der SELECT-Anweisung, um die maximale Gesamtsumme zu erhalten Zeit, die von jedem Kunden heruntergeladen wurde.
  • Fügen Sie die SSN-Spalte wie folgt zur GROUP BY-Klausel hinzu:
SELECT SSN, MAX(SUM(TIME))
FROM downloads
GROUP BY SSN, TIME
Nach dem Login kopieren

Dadurch erhalten Sie die maximale Gesamtzeit, die für jede einzelne SSN heruntergeladen wurde und Zeitkombination.

Das obige ist der detaillierte Inhalt vonWarum gibt meine SQL-Abfrage den Fehler „Keine Einzelgruppen-Gruppenfunktion' zurück?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Quelle:php.cn
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Neueste Artikel des Autors
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage