requete SQL pour calcul du rang
bonjour,
je cherche dans une requete à trier une table "resultats" et à attribuer un rang selon un champ "note" dans cette table, pour chaque devoir et eleve.
le rang doit indiquer la position de l'eleve Numero_eleve pour le devoir id_devoir
J'ai le code ci-dessous, le probleme est que le rang fourni est calculé sur l'ensemble des devoirs de la table,
et non pas pour chaque devoir.
Savez-vous comment je dois le modifier?
merci
Code:
1 2 3 4 5 6 7 8
| SELECT T1.id_devoir, T1.Numero_eleve, (SELECT Count(Note)
FROM resultats T2
WHERE T2.Note<T1.Note)+1 AS Rang, T1.Note
FROM resultats AS T1
WHERE (((Note) Is Not Null))
GROUP BY T1.id_devoir, T1.Numero_eleve, T1.Note
ORDER BY T1.Note; |