Faire un group by sur un case ou un if - SQL/NoSQL - Programmation
Marsh Posté le 02-08-2005 à 10:34:39
Et ça ?
select CASE0
WHEN SUM(A.Prix) <= 10 THEN 'inferieur a 10'
WHEN SUM(A.Prix) > 10 AND SUM(A.Prix)<=20 THEN 'entre 10 et 20'
ELSE 'superieur a 20'
END
as Tranche , count(*) as NombreClients
FROM Table A
group by CASE0
WHEN SUM(A.Prix) <= 10 THEN 'inferieur a 10'
WHEN SUM(A.Prix) > 10 AND SUM(A.Prix)<=20 THEN 'entre 10 et 20'
ELSE 'superieur a 20'
END
Marsh Posté le 02-08-2005 à 12:00:34
J'ai contourne le pb et ma foi ca marche bien
mais je suis tjrs interesse par une reponse
Code :
|
EDIT : BLAGUE
C'est ce qui s'appelle une requete aux petits unions
Marsh Posté le 02-08-2005 à 12:58:28
Par A.Nom
mais en fait c'est pas ma vraie requete est la retranscripton est pas super
le regroupement se fait en fait sur un champ d'une table liee par une jointure a A
Edit : totographe
Marsh Posté le 02-08-2005 à 10:08:41
Bonjour
J'aimerais realiser une requete de ce type mais cela me retourne une erreur (Can't group on 'Tranche') j'utilises MySQL
mais ca marche pas
et meme la version crade rend le meme resultat:
Message édité par betsamee le 02-08-2005 à 10:09:17