Comment trouver le rang
Ibnomar
-
Ibnomar -
Ibnomar -
Bonjour ,
J’ai une table avec les notes de mes élèves comme
Id_el Note
1 18
2. 10
3 19
et j’aimerais avoir le rang de chaque élève en fonction de sa notes. Comme 19 (la note la plus élèves ) ->1er, 18(la suivante ) ->2eme, 10(le dernière de la classe )->3 ; en gardant en même temps l’ordre alphabétique de mes Noms. Aidez-moi à le faire s’il vous plaît ?
Merci d’avance
J’ai une table avec les notes de mes élèves comme
Id_el Note
1 18
2. 10
3 19
et j’aimerais avoir le rang de chaque élève en fonction de sa notes. Comme 19 (la note la plus élèves ) ->1er, 18(la suivante ) ->2eme, 10(le dernière de la classe )->3 ; en gardant en même temps l’ordre alphabétique de mes Noms. Aidez-moi à le faire s’il vous plaît ?
Merci d’avance
1 réponse
-
Bonjour,
ça dépend de ta version de mysql.
Si elle est >= 8 , tu peux utiliser
https://www.mysqltutorial.org/mysql-window-functions/mysql-rank-function/
Sinon, faudra passer par une sous-requête du genreSELECT @rank := @rank + 1 AS 'Rank', Id_el, Note FROM tatable JOIN ( SELECT @rank := 0 ) AS init ORDER BY Note DESC;
Et si tu veux, en plus, avoir un ordre alphabétique sur le nom de te tes élèves, il te faudra faire une jointure avec la table qui contient leur nom et refaire un order by dessus.