PHP|Débutant :: Forums

Advertisement

Besoin d'aide ? N'hésitez pas, mais respectez les règles

Vous n'êtes pas identifié(e).

#1 19-07-2010 15:26:28

athome
Membre
Inscription : 24-06-2010
Messages : 23

Un GROUP BY dans un COUNT

Bonjour,
voici mon soucis, il y a un champ 'service' qui a des données identiques !!!

voici la requete, et je voudrais donc regrouper les 'service' identique

SELECT t2.id2,service,
(SELECT COUNT(categorie)
FROM table1
WHERE categorie='a' AND code1=code2) AS cat
FROM table2 t2
WHERE t2.groupe='1'
ORDER BY t2.id2 ASC

j'ai bien tenté ceci :

SELECT t2.id2,service,
(SELECT COUNT(categorie)
FROM table1
WHERE categorie='a' AND code1=code2) AS cat
FROM table2 t2
WHERE t2.groupe='1'
[b]GROUP BY service[/b]
ORDER BY t2.id2 ASC

cela à bien regroupé les 'service'
mais sans comptabiliser l'ensemble des 'cat' ayant le meme nom de service'

le soucis c'est qu'il y a des 'service' portant le meme nom et ayant un code1 qui n'égale pas au code2 !

cela ne doit pas etre grand chose mais je but sur ce petit truc
merci de votre aide

Dernière modification par athome (20-07-2010 21:26:31)

Hors ligne

#2 21-07-2010 09:42:32

athome
Membre
Inscription : 24-06-2010
Messages : 23

Re : Un GROUP BY dans un COUNT

alors j'avance un petit peu smile

voici deux requêtes qui me permettent de regrouper les 'service'
mais je perds la fonction qui permet d'afficher les 'service'
ayant un résultat de zéro, car je voudrais afficher ces résultats null wink

SELECT service, COUNT(*) as cat
FROM table2, table1
WHERE categorie IN ('a' , 'b' , 'c') AND code1=code2 AND groupe='1'
GROUP BY service
ORDER BY id2 ASC

et

select T2.service, COUNT(T1.categorie) AS cat
from table2 T2
left join table1 T1 on T1.code1 = T2.code2
WHERE categorie IN ('a','b','c') AND t2.groupe='1'
group by T2.service
ORDER BY t2.id2 ASC

Hors ligne

Pied de page des forums