Bonsoir,
Il est vrai que selon la norme SQL:1999, chaque nom de colonne figurant dans la clause GROUP BY doit aussi figurer dans la clause SELECT (à moins de figurer en tant qu’argument dans une fonction d’agrégation). En l’occurrence, je fais référence à l’ouvrage de Peter Gulutzan et Truly Pelzer,
SQL-99 Complete, Really, au paragraphe « Rules for Grouping Columns » aux pages 634, 635, cité aussi
ici (« the Single-Value Rule » :
You must follow “The Single-Value Rule” — every Column named in the select list must also be a grouping Column, unless it is an argument for one of the set functions.
Je note en passant que les fonctions auxquelles il est fait allusion peuvent retourner des sacs plutôt de des ensembles, mais bon. Quoi qu’il en soit, quelqu’un sait-il où on en est avec la version SQL:2011 ?