← SQL — Fonctions de fenêtrage
Leçon 5 / 9 — Chapitre 9: Mise en pratique : résultats académiques
FIRST_VALUE et LAST_VALUE : l'écart entre la première et la dernière note
Comme au chapitre 5, FIRST_VALUE() et LAST_VALUE() (avec son cadre corrigé) permettent de comparer directement le point de départ et le point d'arrivée de chaque étudiant.
SELECT DISTINCT e.nom,
FIRST_VALUE(n.note) OVER w AS premiere_note,
LAST_VALUE(n.note) OVER w AS derniere_note,
LAST_VALUE(n.note) OVER w - FIRST_VALUE(n.note) OVER w AS ecart_total
FROM notes_examens n
JOIN etudiants e ON e.id = n.etudiant_id
WINDOW w AS (
PARTITION BY n.etudiant_id ORDER BY n.session
ROWS BETWEEN UNBOUNDED PRECEDING AND UNBOUNDED FOLLOWING
);
Pour Amina : premiere_note = 12 (session 1), derniere_note = 16 (session 3), ecart_total = 16 - 12 = 4. Pour Chiara : premiere_note = 15, derniere_note = 18, ecart_total = 3.
À retenir :
- Le cadre
ROWS BETWEEN UNBOUNDED PRECEDING AND UNBOUNDED FOLLOWING(chapitre 5) reste indispensable pour que LAST_VALUE renvoie la vraie dernière session, pas la session courante.
À vous de jouer : quel est ecart_total pour Bruno (première note 10, dernière note 14) ?
🔒
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