Heim > Datenbank > MySQL-Tutorial > Warum erhalte ich den MySQL-Fehler 1111: Ungültige Verwendung der Gruppenfunktion?

Warum erhalte ich den MySQL-Fehler 1111: Ungültige Verwendung der Gruppenfunktion?

Linda Hamilton
Freigeben: 2024-12-31 10:42:16
Original
503 Leute haben es durchsucht

Why Am I Getting MySQL Error 1111: Invalid Use of Group Function?

Der verblüffende Fehler 1111: Ungültige Verwendung der Gruppenfunktion

Dieses Problem tritt auf, wenn versucht wird, eine Aggregatfunktion wie AVG zu verwenden die WHERE-Klausel, was zum rätselhaften Fehler 1111 führt (HY000) eine HAVING-Klausel oder eine Auswahlliste. Darüber hinaus muss auf die Spalte, die der Aggregationsoperation unterzogen wird, von einem äußeren Kontext aus verwiesen werden.

Beheben des Fehlers mit der WHERE-Klausel

Eine Möglichkeit, diesen Fehler zu beheben, besteht darin, Folgendes zu verwenden: eine Unterabfrage innerhalb der WHERE-Klausel, wie unten beispielhaft dargestellt:

In diesem Fall wird das Durchschnittsgehalt anhand der berechnet Unterabfrage und dann mit dem Gehalt jedes Einzelnen verglichen.

Beheben des Fehlers mit der HAVING-Klausel

select *
from staff
where salary > (select avg(salary) from staff)
Nach dem Login kopieren

Alternativ kann die HAVING-Klausel genutzt werden, um eine Suchbedingung für eine Gruppe festzulegen oder Aggregat, wie hier dargestellt:

Die HAVING-Klausel gibt an, dass nur Gruppen mit mehr als zwei Mitgliedern vorhanden sein werden als Ergebnis zurückgegeben.

Zusätzlicher Kommentar zur HAVING-Klausel

select deptid,COUNT(*) as TotalCount
from staff
group by deptid
having count(*) > 2
Nach dem Login kopieren

Es ist erwähnenswert, dass die HAVING-Klausel normalerweise in Verbindung mit der GROUP BY-Klausel verwendet wird. Wenn jedoch GROUP BY fehlt, verhält sich HAVING ähnlich wie eine WHERE-Klausel.

Das obige ist der detaillierte Inhalt vonWarum erhalte ich den MySQL-Fehler 1111: Ungültige Verwendung der Gruppenfunktion?. 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