Leçon 2 / 9 — Chapitre 9: Mise en pratique : résultats académiques
PERCENT_RANK : la position relative dans sa filière
Retour sur PERCENT_RANK() (chapitre 2), appliqué ici à la moyenne finale de chaque étudiant, par filière.
WITH moyennes AS (
SELECT etudiant_id, AVG(note) AS moyenne_finale
FROM notes_examens
GROUP BY etudiant_id
)
SELECT e.nom, e.filiere, m.moyenne_finale,
PERCENT_RANK() OVER (PARTITION BY e.filiere ORDER BY m.moyenne_finale DESC) AS position_relative
FROM moyennes m
JOIN etudiants e ON e.id = m.etudiant_id;
Moyennes finales : Amina 14, Bruno 12 (filière info) ; Chiara 16, Driss 13 (filière gestion). Chaque filière ne comptant que 2 étudiants, PERCENT_RANK ne peut prendre que 0 (1er de la filière) ou 1 (dernier) : Amina et Chiara, en tête de leur filière, obtiennent 0 ; Bruno et Driss obtiennent 1.
À retenir :
- Avec seulement 2 lignes par partition, PERCENT_RANK ne peut valoir que 0 ou 1 — ses valeurs intermédiaires (comme 0.4 au chapitre 2) n'apparaissent qu'avec des partitions plus grandes.
À vous de jouer : quelle est la position_relative de Bruno (moyenne 12, dernier de la filière info) ?
Continuez ce module
Débloquez les leçons restantes ainsi que la certification finale.
2 500 XOF / 3,81 € / 4,15 $
Débloquez les 72 leçons restantes de ce module
Votre paiement est vérifié avant l'activation de l'accès