Maison > base de données > tutoriel mysql > Pourquoi « SELECT MAX(SUM(TIME)) FROM downloads GROUP BY SSN » produit-il une erreur « Pas une fonction de groupe à groupe unique » ?

Pourquoi « SELECT MAX(SUM(TIME)) FROM downloads GROUP BY SSN » produit-il une erreur « Pas une fonction de groupe à groupe unique » ?

Susan Sarandon
Libérer: 2024-12-31 00:20:14
original
270 Les gens l'ont consulté

Why Does

Erreur : "Pas une fonction de groupe à groupe unique" expliquée

Lors de l'exécution de l'instruction SQL, "SELECT MAX(SUM(TIME) ) FROM télécharge GROUP BY SSN", vous rencontrez une erreur indiquant "pas une fonction de groupe à groupe unique". Cette erreur se produit car l'expression maximale, MAX(SUM(TIME)), est une fonction de groupe qui opère sur la somme du temps pour chaque numéro de sécurité sociale (SSN) dans la table des téléchargements. Cependant, l'inclusion supplémentaire du SSN dans l'instruction SELECT crée un conflit.

Pour comprendre pourquoi ce conflit se produit, considérez l'explication suivante :

  • L'opération SUM(TIME) calcule le nombre total de téléchargements pour chaque SSN, ce qui donne une valeur unique pour chaque SSN.
  • La fonction MAX opère ensuite sur ces valeurs uniques, renvoyant la somme maximale des téléchargements parmi tous SSN.

La présence de la colonne SSN dans la liste SELECT viole la règle de la « fonction de groupe à groupe unique ». Cette règle exige que toutes les colonnes incluses dans l'instruction SELECT fassent partie de la clause GROUP BY. Dans ce cas, le SSN ne fait pas partie de la clause GROUP BY, ce qui rend la requête invalide.

Pour résoudre ce problème, vous pouvez choisir l'une des actions suivantes :

  • Supprimez le SSN de l'instruction SELECT : Cela renverra uniquement la somme maximale des téléchargements sans identifier le SSN associé.
  • Ajouter SSN à la clause GROUP BY : Cela regroupera les résultats à la fois par SSN et par somme des téléchargements, vous permettant d'inclure le SSN dans la liste SELECT.

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