Requête MYSQL

cs_pasbonte Messages postés 18 Date d'inscription mardi 30 septembre 2003 Statut Membre Dernière intervention 22 novembre 2009 - 21 nov. 2009 à 16:14
cs_Mcjo Messages postés 403 Date d'inscription dimanche 12 août 2001 Statut Membre Dernière intervention 3 septembre 2012 - 24 nov. 2009 à 20:53
Bonjour:
Je précise mon problème
Voici ma table:
JUSTIFICATION ETATJUSTIFICATION QUAND1 elenoet
N N 15/09/2009 5631
N N 15/09/2009 5631
N N 21/09/2009 5631
N N 21/09/2009 5631
N N 28/09/2009 5631
N N 28/09/2009 5631
N N 22/09/2009 5704
N N 22/09/2009 5704
N N 24/09/2009 5704
N N 24/09/2009 5704
N N 04/09/2009 6206
N N 07/09/2009 6206
N N 11/09/2009 6206
N N 11/09/2009 6206
N N 28/09/2009 6206
N N 29/09/2009 6123
N N 30/09/2009 6124

si je fais:

SELECT count(DISTINCT(elenoet)) FROM ges_abs
WHERE (JUSTIFICATION ='N' AND (ETATJUSTIFICATION ='JUSTIFIEE & ILLEGITIME'
OR ETATJUSTIFICATION ='N'))
AND (QUAND1 BETWEEN '2009-09-01' AND '2009-09-31')
HAVING count(DISTINCT(elenoet))>4

il ne me met pas 4
pourquoi ?


pasbonte

5 réponses

TychoBrahe Messages postés 1309 Date d'inscription samedi 31 janvier 2009 Statut Membre Dernière intervention 5 juin 2013 12
22 nov. 2009 à 10:35
Salut,

Sans avoir été cherché bien loin je remarque un truc assez gênant :

"il ne me met pas 4 pourquoi ?"
"HAVING count(DISTINCT(elenoet))>4"

4 > 4 => faux
4 >4> vrai
Peut-être cherchait-tu as mettre >= 4.
0
cs_pasbonte Messages postés 18 Date d'inscription mardi 30 septembre 2003 Statut Membre Dernière intervention 22 novembre 2009
22 nov. 2009 à 10:46
Bonjour
Je cherche à trouver ts le nombre d'enregistrements issus de elenoet qui reviennent 4fois et plus
si je fais:
SELECT (count(DISTINCT(elenoet))) FROM ges_abs where (QUAND1 BETWEEN '2009-09-01' and '2009-09-31')
and (JUSTIFICATION ='N' and ETATJUSTIFICATION='N')
il me donne bien mes 35 enregistrements entre les deux dates ok
maintenant je veux connaître le nbre d'elenoet qui reviennent 4 fois ou plus, je ne veux QUE ceux qui reviennent 4 fois ou plus
merci !



pasbonte
0
cs_pasbonte Messages postés 18 Date d'inscription mardi 30 septembre 2003 Statut Membre Dernière intervention 22 novembre 2009
22 nov. 2009 à 15:44
Je fais ça:
SELECT elenoet,divcod,count(*) FROM ges_abs WHERE (JUSTIFICATION ='N' AND ETATJUSTIFICATION ='N') AND (QUAND1 BETWEEN '2009-09-01' and '2009-09-31')GROUP BY elenoet ORDER BY divcod

ok il me donne:
5574 3G 2 1
6395 3G 3 1
6386 3G 3 1
5951 3G 6 2
6206 3S 7 5
5577 3S 8 3
5704 3S 8 4
5768 4G 1 1
6394 4G 2 1
5538 4G 3 1
5733 4G 3 1
5754 4G 3 1
5728 4G 5 1
5972 4G 5 1
5748 4G 6 1
6401 4G 6 2
5858 4G 7 1
5762 4G 7 1
5688 4S 9 1
5631 54S 8 12
6176 5G 2 2
6142 5G 3 1
6145 5G 3 1
6027 5G 5 1
6065 5G 6 3
6198 5S 7 2
6417 5S 7 1
6122 5S 7 1
6244 6G 2 1
6230 6G 3 1

comment n'avoir QUE les 3 qui dépassent 4 ? cad 6206, 5204 et 5631 ?


pasbonte
0
cs_Mcjo Messages postés 403 Date d'inscription dimanche 12 août 2001 Statut Membre Dernière intervention 3 septembre 2012 2
24 nov. 2009 à 20:52
SELECT elenoet,divcod,count(*) FROM ges_abs WHERE (JUSTIFICATION ='N' AND ETATJUSTIFICATION ='N') AND (QUAND1 BETWEEN '2009-09-01' and '2009-09-31')GROUP BY elenoet 
HAVING count(*) > 4
ORDER BY divcod 
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
cs_Mcjo Messages postés 403 Date d'inscription dimanche 12 août 2001 Statut Membre Dernière intervention 3 septembre 2012 2
24 nov. 2009 à 20:53
il y a un pb c'est pas HAVING count(*) > 4
mais HAVING count(*) > 4
0
Rejoignez-nous