63 votes

Toutes les colonnes d’une liste SELECT doivent-elles apparaître dans une clause GROUP BY ?

Mon conférencier a déclaré :

Tous les noms de colonne de la liste SELECT doivent apparaître dans la clause GROUP BY, sauf si name est utilisé uniquement dans une fonction d’agrégation

Je veux juste une confirmation de cela car je ne peux pas penser à une explication logique quant à la raison pour laquelle cela devrait être vrai ...

2voto

hsmiths Points 750

Si vous regroupez quelque chose, vous ne pouvez pas voir les valeurs individuelles des colonnes non groupées, car il peut y avoir plus d’une valeur dans chaque groupe. Tout ce que vous pouvez faire est de rendre compte des fonctions d’agrégation (somme, nombre, min et etc.) - celles-ci sont capables de combiner les valeurs multiples en une seule cellule dans le résultat.

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X