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