Maison > base de données > tutoriel mysql > Erreur MySQL : « Utilisation non valide de la fonction de groupe » – WHERE ou HAVING : quand dois-je utiliser lequel ?

Erreur MySQL : « Utilisation non valide de la fonction de groupe » – WHERE ou HAVING : quand dois-je utiliser lequel ?

Barbara Streisand
Libérer: 2025-01-11 22:42:41
original
782 Les gens l'ont consulté

MySQL Error:

Erreur MySQL : utilisation non valide de la fonction de regroupement

Lorsque vous rencontrez l'erreur « Utilisation non valide de la fonction de regroupement » lors de l'utilisation de MySQL, assurez-vous de comprendre la différence entre les clauses WHERE et HAVING.

Dans la requête fournie, le but est de trouver des pièces fournies par au moins deux fournisseurs. Initialement, vous essayez d'utiliser une clause WHERE pour comparer chaque pid à la sortie d'une sous-requête qui calcule les sid. Cependant, MySQL effectue le WHERE avant l'agrégation, ce qui rend cette approche inefficace.

La bonne solution est d'utiliser la clause HAVING. HAVING filtre les résultats des fonctions d'agrégation telles que COUNT(), vous permettant d'effectuer des calculs post-agrégation. En réécrivant la sous-requête en utilisant HAVING, comme indiqué dans la réponse :

<code class="language-sql">(
  SELECT c2.pid
  FROM Catalog AS c2
  WHERE c2.pid = c1.pid
  HAVING COUNT(c2.sid) >= 2
)</code>
Copier après la connexion

Vous pouvez obtenir les résultats que vous souhaitez. La clause HAVING garantira que seules les pièces provenant d'au moins deux fournisseurs seront incluses dans le résultat final.

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!

source:php.cn
Déclaration de ce site Web
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
Derniers articles par auteur
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal