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 l'attestation finale.
8 000 XOF / 12,20 € / 13,29 $
Débloquez les 78 leçons restantes de ce module
Pour vous communiquer où envoyer le paiement.
Moyen de paiement souhaité
Nous vous contactons pour le paiement — activé dès réception.