Heim > Datenbank > MySQL-Tutorial > Wie behebe ich den MySQL-Fehler „Ausdruck der SELECT-Liste nicht in der GROUP BY-Klausel'?

Wie behebe ich den MySQL-Fehler „Ausdruck der SELECT-Liste nicht in der GROUP BY-Klausel'?

Mary-Kate Olsen
Freigeben: 2024-11-25 06:14:15
Original
209 Leute haben es durchsucht

How to Fix the

Fehlerbehebung „Ausdruck der SELECT-Liste nicht in der GROUP BY-Klausel“

Der Fehler „Ausdruck der SELECT-Liste ist nicht in der GROUP BY-Klausel und enthält nicht aggregierte Spalte ' „libelle“ tritt typischerweise auf, wenn eine Abfrage mit einer nicht aggregierten Spalte in der SELECT-Liste und der GROUP BY-Klausel ausgeführt wird. Um diesen Fehler zu beheben, muss sichergestellt werden, dass alle nicht aggregierten Spalten in der GROUP BY-Klausel enthalten sind oder mithilfe von Funktionen wie SUM(), AVG() oder COUNT() aggregiert werden.

In In diesem speziellen Fall versucht die Abfrage, Spalten wie „libelle“, „credit_initial“, „disponible_v“ und „montant“ auszuwählen. Allerdings ist nur „libelle“ in der GROUP BY-Klausel enthalten, während „montant“ nicht aggregiert ist. Um dieses Problem zu beheben, ändern Sie die Abfrage so, dass sie entweder „montant“ in die GROUP BY-Klausel einschließt oder sie mit SUM() oder einer anderen geeigneten Funktion aggregiert.

LÖSUNG

Hier ist eine aktualisierte Version der Abfrage, die „montant“ in der GROUP BY-Klausel enthält:

SELECT libelle, credit_initial, disponible_v, SUM(montant) AS total_montant 
FROM fiche, annee, type 
WHERE type.id_type = annee.id_type 
AND annee.id_annee = fiche.id_annee 
AND annee = YEAR(current_timestamp) 
GROUP BY libelle, credit_initial, disponible_v 
ORDER BY libelle ASC
Nach dem Login kopieren

Alternativ kann die Abfrage auf Aggregat angepasst werden 'montant' mit SUM():

SELECT libelle, credit_initial, disponible_v, SUM(montant) 
FROM fiche, annee, type 
WHERE type.id_type = annee.id_type 
AND annee.id_annee = fiche.id_annee 
AND annee = YEAR(current_timestamp) 
GROUP BY libelle 
ORDER BY libelle ASC
Nach dem Login kopieren

Durch diese Änderungen entspricht die Abfrage dem strengen GROUP BY-Modus von MySQL 5.7 und vermeidet den Fehler.

Das obige ist der detaillierte Inhalt vonWie behebe ich den MySQL-Fehler „Ausdruck der SELECT-Liste nicht in der GROUP BY-Klausel'?. 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