Requete pour compter

Résolu
dentfree Messages postés 110 Date d'inscription mardi 15 novembre 2011 Statut Membre Dernière intervention 17 septembre 2023 - 21 déc. 2011 à 10:27
dentfree Messages postés 110 Date d'inscription mardi 15 novembre 2011 Statut Membre Dernière intervention 17 septembre 2023 - 21 déc. 2011 à 11:14
Je souhaiterai faire une requête pour faire une liste de personne qui ont écrit plus de 5 titres.

Je dispose une table personne, titre ainsi qu'une table 'écrit par' créée pas les cardinalités 0,n.

J'ai essayer le requête :

select COUNT(ID_TITRE), NOM_
from ECRIT_PAR,PERSONNE
where ECRIT_PAR.ID_PERSONEE=PERSONNE.ID_PERSONEE
group by ID_TITRE, NOM_PERSONNE

Sa me donne tout les nom des auteurs. Si l'auteur a écrit 3 titre, il me réécrit l'autre 3 fois.

Qui pourrait m'aider??

2 réponses

dentfree Messages postés 110 Date d'inscription mardi 15 novembre 2011 Statut Membre Dernière intervention 17 septembre 2023
21 déc. 2011 à 11:14
voila, la solution est :

select nom_, COUNT(PERSONNE.ID_PERSONEE)
from ECRIT_PAR join PERSONNE
on ECRIT_PAR.ID_PERSONEE = PERSONNE.ID_PERSONEE
group by personne.ID_PERSONEE , NOM_
having (COUNT (personne.id_personee))>=5

merci de l'aide
3
cs_jopop Messages postés 1540 Date d'inscription lundi 26 mai 2003 Statut Membre Dernière intervention 1 août 2013 12
21 déc. 2011 à 11:09
Salut,

tu dois grouper uniquement ce par quoi tu veux grouper en l'occurence l'auteur.
Et pour déterminer un palier sur le dénombrement il faut utiliser la clause HAVING.
En résumé l'erreur est dans ton GROUP BY, le reste est bon.
0
Rejoignez-nous