"Si un ouvrier veut bien faire son travail, il doit d'abord affûter ses outils." - Confucius, "Les Entretiens de Confucius. Lu Linggong"
Page de garde > La programmation > Comment résoudre l'erreur "SELECT List de MySQL n'est pas en groupe par clause?

Comment résoudre l'erreur "SELECT List de MySQL n'est pas en groupe par clause?

Publié le 2025-03-24
Parcourir:336

How to Resolve MySQL's

Dépannage "SELECT List n'est pas en groupe par clause" Erreur avec MySql

L'erreur "L'expression # 1 de la liste de sélection n'est pas en groupe par clause et contient une colonne non agggagée". Inclus dans la clause du groupe par. Ceci est dû au paramètre SQL_MODE = Only_Full_Group_By, qui applique des règles de groupement plus strictes.

pour résoudre ce problème, il existe plusieurs solutions:

  1. Désactiver SQL_MODE = Only_Full_Group_By: Commande:
SET GLOBAL sql_mode=(SELECT REPLACE(@@sql_mode,'ONLY_FULL_GROUP_BY',''));
  1. Inclut toutes les colonnes sélectionnées dans la liste de groupes par le groupe: cela garantit que toutes les chroniques dans la liste de sélection sont incluses. Par exemple:
SELECT *
FROM `tbl_customer_pod_uploads`
WHERE `load_id` = '78' AND
      `status` = 'Active'
GROUP BY `proof_type`, `id`
  1. Utilisez des fonctions d'agrégation: au lieu de sélectionner des colonnes individuelles, utilisez des fonctions d'agrégation telles que sum (), count (), ou avg () pour regrouper les données. Cela élimine le besoin de la clause du groupe par. Par exemple:
SELECT `proof_type`, COUNT(*) AS `document_count`
FROM `tbl_customer_pod_uploads`
WHERE `load_id` = '78' AND
      `status` = 'Active'
GROUP BY `proof_type`

Il est important de noter que la modification du mode SQL n'est pas la meilleure pratique. La solution préférée consiste à modifier la requête pour se conformer aux règles de regroupement plus strictes.

Dernier tutoriel Plus>

Clause de non-responsabilité: Toutes les ressources fournies proviennent en partie d'Internet. En cas de violation de vos droits d'auteur ou d'autres droits et intérêts, veuillez expliquer les raisons détaillées et fournir une preuve du droit d'auteur ou des droits et intérêts, puis l'envoyer à l'adresse e-mail : [email protected]. Nous nous en occuperons pour vous dans les plus brefs délais.

Copyright© 2022 湘ICP备2022001581号-3