conditions sur 2 count ? - SQL/NoSQL - Programmation
Marsh Posté le 10-07-2006 à 17:08:21
bin tu mets un groupe by ou alors j'ai rien compris
Code :
|
Et si tu as besoin de la somme de tous les cas, tu peux même faire péter un rollup ( a coditions d'avoir la bonne version de mysql)
Marsh Posté le 10-07-2006 à 17:09:01
et l'agrégation GROUP BY, alors?
Code :
|
Marsh Posté le 10-07-2006 à 17:10:25
Note: c'est sa requete qu'est la bonne moi j'ai merdé dans le copié/collé
il faut juste faire count(*)
Marsh Posté le 10-07-2006 à 17:35:47
résolu avec :
select count (theme) as nbr, count(if (nouveau=1,nouveau,null))as n_nouveau,
count(if(nouveau=0,nouveau,null))as pas_nouveau WHERE id_user='33'
merci
Marsh Posté le 10-07-2006 à 17:39:01
Reply
Marsh Posté le 10-07-2006 à 16:59:11
bonjour,
j'ai une table mysql stockant des infos par utilisateur avec pour chacune un champs nouveau ou pas :
id_user | thème |nouveau
33 05 0
33 06 1
33 06 1
j'essaye d'extraire de cette table pour chaque utilisateur un count par thème et par nouveau ou pas
> select count (theme) as nbr, count (nouveau) as nbrn WHERE id_user='33'
çà marche pas ! c'est normal il faudrait que je mette une condition sur le nouveau > WHERE id_user='33' AND nouveau ='1'
mais dans ce cas je n'ai pas le cas pas nouveau =0
comme c'est une requete qui se lance plusieurs dizaine de fois dans la page (intranet) ne ne veux pas abuser et faire deux requetes ..
j'essaye de mettre cela en une seule mais je trouve pas le moyen
avec une requete imbriqué IN je vois pas comment et tjours la crainte de multiplier les requetes
y'a sans doute un truc plus simple auquel j'ai pas pensé
si vous avez une idée
merci
antoine