Maison >base de données >tutoriel mysql >Pourquoi MySQL génère-t-il une erreur « n'est pas dans GROUP BY » et comment puis-je la corriger ?
Erreur MySQL : "n'est pas dans GROUP BY"
MySQL génère souvent l'erreur "n'est pas dans GROUP BY" lors de la récupération données à partir de tables à l’aide de requêtes spécifiques. Comprendre la cause et comment la résoudre est crucial.
Contexte :
MySQL exige que toutes les colonnes incluses dans la clause SELECT, à l'exception des fonctions d'agrégation comme COUNT, doivent également être inclus dans la clause GROUP BY. Cela garantit que les résultats sont basés sur des groupes de données avec des valeurs distinctes dans les colonnes spécifiées.
Exemple d'erreur :
Dans l'exemple fourni, l'erreur se produit lors de l'utilisation la requête :
SELECT `name`, `type`, `language`, `code` FROM `users` WHERE `verified` = '1' GROUP BY `name` ORDER BY `count` DESC LIMIT 0, 25
MySQL détecte que le nombre de colonnes n'est pas présent dans le GROUP BY
Résolution :
Pour résoudre cette erreur, vous devez inclure toutes les colonnes de la clause SELECT dans la clause GROUP BY. Dans ce cas, la requête modifiée serait :
SELECT `name`, `type`, `language`, `code` FROM `users` WHERE `verified` = '1' GROUP BY `name`, `type`, `language`, `code` ORDER BY `count` DESC LIMIT 0, 25
Notes supplémentaires :
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!