Maison > base de données > tutoriel mysql > le corps du texte

Comment corriger l'erreur MySQL 1111 : utilisation non valide de la fonction de groupe lors du regroupement par colonne ?

DDD
Libérer: 2024-10-24 12:15:01
original
908 Les gens l'ont consulté

How to Fix MySQL Error 1111: Invalid Use of Group Function When Grouping By a Column?

Résolution de l'erreur MySQL 1111 : utilisation non valide de la fonction de groupe

Lors de l'utilisation de MySQL, vous pouvez rencontrer l'erreur « Erreur 1111 (HY000) : Utilisation non valide de la fonction de groupe" lors de la tentative d'agrégation de données à l'aide d'une fonction de groupe telle que COUNT(*) tout en regroupant simultanément par colonne.

Pour résoudre cette erreur, évitez d'utiliser des fonctions de groupe dans la clause SELECT lors de l'exécution d'une Opération GROUPE PAR. Utilisez plutôt une sous-requête ou la clause ORDER BY pour récupérer la valeur maximale souhaitée.

Considérez l'exemple suivant :

<code class="mysql">SELECT
    name,
    MAX(COUNT(*)) AS max_count
FROM table
GROUP BY name;</code>
Copier après la connexion

Cette requête renverra une erreur car COUNT() est utilisé dans la clause SELECT tout en regroupant également par nom. Pour résoudre ce problème, supprimez COUNT() de la clause SELECT et utilisez-la comme sous-requête dans la fonction MAX :

<code class="mysql">SELECT
    MAX((SELECT COUNT(*) FROM table WHERE name = t.name)) AS max_count
FROM table t
GROUP BY name;</code>
Copier après la connexion

Après avoir exécuté cette requête, vous obtiendrez le nombre maximum d'enregistrements pour chaque nom dans le tableau. Alternativement, vous pouvez utiliser la clause ORDER BY pour trier les résultats par nombre, puis récupérer uniquement le premier enregistrement :

<code class="mysql">SELECT
    name,
    COUNT(*) AS count
FROM table
GROUP BY name
ORDER BY count DESC
LIMIT 1;</code>
Copier après la connexion

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
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
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal