Requete count
sara
-
sara -
sara -
Bonjour,
j'ai fait une requete sql,pour compter le nombre de fois ou la valeur d'un attribut "effectué" egale a 0 pour chaque utilisateur,mais je ne sai pa comment faire le count,
merci bcp de m'aider
j'ai fait une requete sql,pour compter le nombre de fois ou la valeur d'un attribut "effectué" egale a 0 pour chaque utilisateur,mais je ne sai pa comment faire le count,
merci bcp de m'aider
Configuration: Windows XP Firefox 3.5.4
3 réponses
-
montre nous ce que tu as fait pour l'instant et on corrigera (faudrai pas qu'on pense que tu nous donne tes exo a faire ^^)
-
hh oui je ss désolé j ai cru que j'ai copier la requete, bon voila;
SELECT tab_departement.id_dept, tab_user.id_user, tab_user.nom_user, tab_user.prenom_user, tab_user.nature_user, tab_seance.effectue, tab_seance.date_seance
FROM (tab_departement INNER JOIN tab_user ON tab_departement.id_dept = tab_user.departement) INNER JOIN ((tab_matiere INNER JOIN tab_enseignement ON tab_matiere.id_mat = tab_enseignement.id_mat) INNER JOIN tab_seance ON tab_matiere.id_mat = tab_seance.id_mat) ON tab_user.id_user = tab_enseignement.id_user
WHERE (((tab_departement.id_dept)=1) AND ((tab_user.nature_user)=3) AND ((tab_seance.effectue)="0"));
merci
-
-
bon ben désolé mais moi les inner join dans tout les sens j'y pige rien ^^'
j'ai fait une représentation des tables que tu a mi dans ta requete et les champs (pour ma compréhension personnel) et j'en ai rajouté quelques un pour que ca soit plus completschéma: tab_departement(id_dept,libelle) tab_user(id_user,#departement,nature_user) tab_matiere(id_mat,libelle) tab_enseignement(#id_mat,#id_user) tab_seance(id_seance,#id_mat,effectue) requète: select tab_user.id_user,count(*) as nb_effectue_eg_0 from tab_user,tab_enseignement,tab_seance,tab_matiere where tab_user.id_user=tab_enseignement.id_user and tab_enseignement.id_mat=tab_matiere.id_mat and tab_matiere.id_mat=tab_seance.id_mat and tab_seance.effectue="0" group by tab_user.id_user
la requete compte le nombre d'effectué = "0" pour chaque user (avec le group by), je n'ai pas mis le département =1 -
s'il faut grouper par utilisateur alors on utilise un group by
par exemple sans le group by il y a un total de 100 lignes et 10 utilisateurs
le résultat ferai 100 lignes avec a chaque ligne l'id de l'utilisateurs répertorié avec a coté le nombre 100
avec le group by ca ne ferai plus que 10 lignes mais le nombre a coté variera en fonction du nombre de ligne pour chaque utilisateurs
(c'est un peu dur a expliquer comme ca ^^')
mais tu peu tester toi même avec et sans le group by
note que dans ta premiere requète tu n'as pas utilisé de count, ce qui fait que ca ne compte rien. je ne suis pas capable de comparer tes inner join avec mes jointures basiques (mais compréhensible :P) donc je ne peu pas dire si nos deux requètes donnerai le même résultat si tu ajoute un count(*) a la tienne