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

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

DDD
Freigeben: 2024-12-22 16:40:13
Original
219 Leute haben es durchsucht

How to Resolve MySQL's

Fehlerbehebung „SELECT-Liste ist nicht in der GROUP BY-Klausel“ Fehler mit MySQL

Der Fehler „Ausdruck Nr. 1 der SELECT-Liste ist nicht in „GROUP BY-Klausel und enthält nicht aggregierte Spalte“ tritt in MySQL normalerweise auf, wenn das Ergebnis einer Abfrage nicht aggregierte Spalten enthält, die nicht in der GROUP BY-Klausel enthalten sind. Dies liegt an der Einstellung sql_mode=only_full_group_by, die strengere Gruppierungsregeln erzwingt.

Um dieses Problem zu beheben, gibt es mehrere Lösungen:

  1. Deaktivieren Sie sql_mode=only_full_group_by: Dies kann wie folgt erfolgen Befehl:
SET GLOBAL sql_mode=(SELECT REPLACE(@@sql_mode,'ONLY_FULL_GROUP_BY',''));
Nach dem Login kopieren
  1. Alle ausgewählten Spalten in die GROUP BY-Klausel einschließen: Dadurch wird sichergestellt, dass alle Spalten in der SELECT-Liste in die GROUP BY-Operation einbezogen werden. Zum Beispiel:
SELECT *
FROM `tbl_customer_pod_uploads`
WHERE `load_id` = '78' AND
      `status` = 'Active'
GROUP BY `proof_type`, `id`
Nach dem Login kopieren
  1. Aggregationsfunktionen verwenden: Anstatt einzelne Spalten auszuwählen, verwenden Sie Aggregationsfunktionen wie SUM(), COUNT() oder AVG( ), um die Daten zu gruppieren. Dadurch entfällt die Notwendigkeit der GROUP BY-Klausel. Zum Beispiel:
SELECT `proof_type`, COUNT(*) AS `document_count`
FROM `tbl_customer_pod_uploads`
WHERE `load_id` = '78' AND
      `status` = 'Active'
GROUP BY `proof_type`
Nach dem Login kopieren

Es ist wichtig zu beachten, dass das Ändern des SQL-Modus nicht die beste Vorgehensweise ist. Die bevorzugte Lösung besteht darin, die Abfrage so zu ändern, dass sie den strengeren Gruppierungsregeln entspricht.

Das obige ist der detaillierte Inhalt vonWie behebe ich den MySQL-Fehler „SELECT-Liste ist 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
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage