requete top10 d'une table

Nouveau WRInaute
bonjour,


voila j'ai une table qui contient une liste d'enregistrement correspondant aux concours (math , physique, anglais etc etc.)
JE souhaite faire une requete qui m'affiche les top10 des concours réussit.

Pour info jai des champs tel que :
id_concours : donne l'id du concour ( 20 id differents)
date_optention : date d'optention du concour


J'arrive donc à avoir la liste des connours réussit mai comment avoir le classement par id_concour qui me donne les 10 concours les plus
réussit :

SELECT 'id_concours' FROM `concours` WHERE `date_optention` IS NOT NULL AND `attestation_status`='success' ;


merci,
 
WRInaute passionné
SELECT 'id_concours' FROM `concours` WHERE `date_optention` IS NOT NULL AND `attestation_status`='success' ORDER BY ?????? ;

LE top 10 est basé sur quel critère ?

en quoi un concours serait-il meilleur qu'un autre ?

peux tu préciser, ou alors je n'ai pas compris ta requete
 
Nouveau WRInaute
merci pour ta reponse rapide !

je vais expliquer tout ca :
j'ai la table concour qui me donne la liste des tous les eleves qui ont eu ou pas les concours.
avec id_eleve, id_concour et date_obtention
SI date d'obtention est diffente de NULL et que attestation_status`='success' alors l'eleve (id_eleve) a reussit son concour (id_coucour)
JE veu avoir le top10 des concours. cad le classement des 10 premiers concours reussit.
j'arrive a avoir la liste par ma requete mais comment classer par id_concour et avoir le classement?

Merci
 
WRInaute passionné
as tu essayé ça ?


SELECT 'id_concours' FROM `concours` WHERE `date_optention` IS NOT NULL AND `attestation_status`='success' ORDER BY 'id_concours' DESC LIMIT 10 ;

et je pense que je dois être à la rammase ce matin car je ne saisi toujours pas quelles valeurs peuvent t'etre retournées.

j'ai la table concour qui me donne la liste des tous les eleves qui ont eu ou pas les concours.
avec id_eleve, id_concour et date_obtention

ok, mais je ne vois pas de "note" par exemple 18/20

SI date d'obtention est diffente de NULL et que attestation_status`='success' alors l'eleve (id_eleve) a reussit son concour (id_coucour)

ok, ça te dis juste si un eleve a eut le concours

JE veu avoir le top10 des concours. cad le classement des 10 premiers concours reussit.

ça je ne comprends toujours pas !!!

quel est ton critère de classement pour ce top 10 lorsque tu dis les 10 premiers ?

est ce les 10 plus rescents , les 10 classés par ordre alphabétique, .... ????

J'aimerai connaitre ce qui fait qu'un résultat est devant l'autre
 
WRInaute impliqué
AMHA, il veut connaître les 10 concours les plus réussis, autrement dit ceux où le taux de réussite est le plus élevé du plus réussi au moins réussi.

Mais je n'y vois pas clair, j'ai l'impression qu'il manque des champs. La structure complète de la table aiderait un peu :wink:

@+
 
Nouveau WRInaute
je vais essayer d'etre plus clair.
J'ai donc une table qui contient les enregistrements de tous les concours réussit ou pas par les eleves.

id_eleve id_concours date_optention
1 55 12/10/2006
1023 128 12/10/2005
1026 123
56 128 12/10/2006
89 55 10/10/2005
563 128 10/10/2007

dans l'exemple l'eleve 1026 n'as pas eu le concours car pas de date
DOnc avec ma requete j'ai bien la liste des tous les concours reussit
MAintenant ce que je veu cest la top10 liste avec mon exemple ci dessus ca donnerai :

classement id_concours
1 128
2 55
etc
jusqu'au rang 10.


cela vous semble clair ?

merci.
 
Nouveau WRInaute
Je suppose aussi que tu cherche a faire le classment des 10 coucours les mieux reussis

soit liste_concours la table de listing de tes ~20 concours
et concours la table des resultats
(jointure sur id_concours)
je ferais comme ceci:
Code:
SELECT liste_concours.*, count(concours.id_concours) as nb_reussis
FROM `liste_concours`
LET JOIN `concours` ON concours.id_concours=liste_concours.id_concours
WHERE `concours.date_optention` IS NOT NULL AND `concours.attestation_status`='success'
GROUP BY concours.id_concours 
ORDER BY nb_reussis DESC LIMIT 10;

pas simple en extrapolant...
 
Discussions similaires
Haut