2009-10-26 4 views
0

J'ai un problème mysql, ma requête se présente comme suit, mais pas terminélignes de comptage dans MySQL

SELECT 
    s.name, 
    s.surname 
FROM 
    students as s, 
    practical as p, 
    days_attend as d 
WHERE 
    s.sid = p.sid 
AND 
    s.sid = d.sid 

Le scénario est l'utilisateur peut entrer dans une forme pour chercher combien de jours l'étudiant est absent, par exemple s'il entre 5 il fera apparaître tous les étudiants qui ont été absents pendant 5 jours. Le problème est cependant chaque jour l'administrateur entre si l'étudiant est absent ou non

par exemple.

TABLE: days_attend

id sid date  absent 
1 1 2009-10-26 yes 
2 1 2009-10-27 yes 
3 1 2009-10-28 no 
4 1 2009-10-29 yes 
5 1 2009-10-30 yes 
6 1 2009-10-31 no 
7 1 2009-11-01 yes 

je dois compter le nombre 5 lignes où il y a des oui dans la colonne absente. il où compte (absent) = 5?

Répondre

8

Je pense que vous êtes à la recherche de la "ayant" clause:

Select count(*),sid 
From days_attend 
Where absent = 'yes' 
Group By sid 
Having count(*) = 5 

MySQL Docs

Questions connexes