Je cherche (en MySql) à effectuer un GROUP BY sur un champ mais en imposant la liste de valeur sur lequels je veux effectuer le regroupement.
Un truc de ce genre :
SELECT mois, count(client) FROM tbl_mois GROUP BY mois IN (1,2,3,4,5,6,7,8,9,10,11,12)
(le IN ne fonctionnant bien évidement pas à cette endroit)
L'idée n'est pas de restreindre à une liste de valeur, mais au contraire de forcer à avoir dans le résultat toutes les valeurs fournit.
La seule solution que j'ai pour l'instant est de crée une table de référence sur laquelle je fait un RIGHT JOIN . Mais pour des requête compliqué, ajouté des jointures n'arrange pas les choses. (de plus dans le cas d'utilisation d'un where il faut crée en plus une sous requete)
Des idées pour une solution simple à mon problème ?
beaucoup plus! à mon avis la tu n'as pas le choix du coup, tu es obligé de créer une table avec des indices de 1 à 12, et de faire une sous requête ou une jointure...
Message édité par pataluc le 26-08-2009 à 16:06:49