Bonjour,
J'ai une table du type
ID | id_client | valeur
et je souhaiterai obtenir quelquechose du type
ID | id_client | nbre de valeurs entre 1 et 2 | nbre de valeurs entre 3 et 4
Comment puis je faire ceci ?
Merci d'avance.








Bonjour,
J'ai une table du type
ID | id_client | valeur
et je souhaiterai obtenir quelquechose du type
ID | id_client | nbre de valeurs entre 1 et 2 | nbre de valeurs entre 3 et 4
Comment puis je faire ceci ?
Merci d'avance.
Bonjour,
Avec union :
Bien sur si la version de MySQL accepte les sous-requêtes.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9 select ID, id_client, sum(val1_2), sum(val3_4) from (select ID, id_client, count(valeur) as val1_2, 0 as val3_4 <div style="margin-left:40px">from MaTable where valeur between 1 and 2 union select ID, id_client, 0 as val1_2, count(valeur) as val3_4 from MaTable where valeur between 3 and 4)</div>group by ID, id_client
En ajoutant des GROUP BY, ça sera plus efficace
Envoyé par TheRussian
Modérateur Langage SQL
Règles du forum Langage SQL à lire par tous,
N'hésitez pas à consulter les cours SQL
N'oubliez pas le bouton
et pensez aux balises [code]
Si une réponse vous a aidé à résoudre votre problème, n'oubliez pas de voter pour elle en cliquant sur
Aide-toi et le forum t'aidera : Un problème exposé sans mentionner les tentatives de résolution infructueuses peut laisser supposer que le posteur attend qu'on fasse son travail à sa place... et ne donne pas envie d'y répondre.








Merci c'est parfait
PS: j'avais entendu dire que le union c'était pas bien et que tout ce qui est fait avec peut etre fait autrement. C'est vrai ou c'est juste une rumeur urbaine ?
En tout cas ici tu peux faire un truc comme :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6 SELECT Id, id_client, sum(case when valeur between 1 and 2 then 1 else 0 end), sum(case when valeur between 3 and 4 then 1 else 0 end) FROM MaTable WHERE valeur between 1 and 4 GROUP BY ID, id_client








Et je supose qu'en terme de performances ta proposition est mieux ?¿?
Partager