par
YShi » 24 nov. 2012, 12:43
Bonjour à tous,
voilà, je dois effectuer la requête suivante :
Quels sont les noms des 3 premiers étudiants de chaque cours? Donner les noms des cours et des étudiants correspondants, en triant par les noms de cours. On considère les 3 premiers au sens strict (e.g., si pour un cours 4 étudiants ont la même meilleure note, dans ce cas il n'y a pas 3 étudiants " premiers " pour ce cours).
Pour le moment, je n'ai écris que ceci :
SELECT etudiants.Nom, notes.Cours, Valeur
FROM etudiants, notes
WHERE Numero = notes.NumEtudiant
GROUP BY Numero
ORDER BY notes.Cours LIMIT 0, 99
J'affiche donc tout les étudiants, ce qui me pose problème c'est restreindre aux 3 premiers par matière seulement, et au sens strict.
Pourriez m'expliquer comment l'exprimer ?
Merci d'avance
Bonjour à tous,
voilà, je dois effectuer la requête suivante :
Quels sont les noms des 3 premiers étudiants de chaque cours? Donner les noms des cours et des étudiants correspondants, en triant par les noms de cours. On considère les 3 premiers au sens strict (e.g., si pour un cours 4 étudiants ont la même meilleure note, dans ce cas il n'y a pas 3 étudiants " premiers " pour ce cours).
Pour le moment, je n'ai écris que ceci :
SELECT etudiants.Nom, notes.Cours, Valeur
FROM etudiants, notes
WHERE Numero = notes.NumEtudiant
GROUP BY Numero
ORDER BY notes.Cours LIMIT 0, 99
J'affiche donc tout les étudiants, ce qui me pose problème c'est restreindre aux 3 premiers par matière seulement, et au sens strict.
Pourriez m'expliquer comment l'exprimer ?
Merci d'avance