Maison >base de données >tutoriel mysql >Comment résoudre l'erreur MySQL n°1140 : « Mélange de colonnes GROUP » dans les requêtes SQL distantes ?

Comment résoudre l'erreur MySQL n°1140 : « Mélange de colonnes GROUP » dans les requêtes SQL distantes ?

Barbara Streisand
Barbara Streisandoriginal
2025-01-01 13:53:10943parcourir

How to Resolve MySQL Error #1140:

Gestion de l'erreur MySQL n°1140 : "Mélange des colonnes GROUP" dans un environnement distant

Lorsque vous rencontrez l'erreur "MySQL #1140 - Mélange des colonnes GROUP (MIN( ), MAX(), COUNT(),...) sans colonnes GROUP est illégal s'il n'y a pas de clause GROUP BY", cela indique que votre requête SQL tente de mélanger des colonnes groupées colonnes (par exemple, COUNT()) avec des colonnes non groupées (par exemple, nid) sans utiliser de clause GROUP BY.

Dans votre cas spécifique, le problème se pose dans la requête SQL suivante :

SELECT COUNT(node.nid),
       node.nid AS nid,
       node_data_field_update_date.field_update_date_value AS node_data_field_update_date_field_update_date_value
FROM node node
LEFT JOIN content_type_update node_data_field_update_date ON node.vid = node_data_field_update_date.vid
WHERE node.type IN ('update')
ORDER BY node_data_field_update_date_field_update_date_value DESC

Pour résoudre le problème, vous avez deux options :

  1. Désactiver ONLY_FULL_GROUP_BY : Ce paramètre du serveur MySQL nécessite que toutes les colonnes sélectionnées (autres que les fonctions d'agrégation) soient incluses dans la clause GROUP BY. Vous pouvez le désactiver en définissant ONLY_FULL_GROUP_BY sur 0 dans la configuration MySQL.
  2. Ajouter une clause GROUP BY : Alternativement, vous pouvez regrouper explicitement les résultats par colonnes utilisées dans la sélection :
SELECT COUNT(node.nid),
       node.nid AS nid,
       node_data_field_update_date.field_update_date_value AS node_data_field_update_date_field_update_date_value
FROM node node
LEFT JOIN content_type_update node_data_field_update_date ON node.vid = node_data_field_update_date.vid
WHERE node.type IN ('update')
GROUP BY nid, node_data_field_update_date_field_update_date_value
ORDER BY node_data_field_update_date_field_update_date_value DESC

En incorporant l'une de ces solutions, vous pouvez résoudre l'erreur "Mélange des colonnes GROUP" et exécuter avec succès la requête SQL dans un environnement éloigné.

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn