Leçon 5 / 9 — Chapitre 2: Isoler le top N par groupe
RANK ou ROW_NUMBER pour un top-N : lequel choisir ?
Le choix entre les deux dépend d'une seule question : un nombre de résultats fixe est-il exigé, ou l'équité envers les ex-aequo prime-t-elle ?
ROW_NUMBER() convient quand un nombre de lignes précis est nécessaire — par exemple, un encart d'affichage à taille fixe (« montrer exactement 3 produits vedettes »), où il faut bien choisir 3 lignes, même arbitrairement en cas d'égalité.
RANK() convient quand aucun ex-aequo ne doit être injustement exclu — par exemple, un podium ou une liste de gagnants, où toute personne à égalité avec la première place mérite d'apparaître, quitte à afficher plus de lignes que prévu.
À retenir :
ROW_NUMBER()garantit un nombre de lignes fixe, au prix d'un départage parfois arbitraire des ex-aequo.RANK()garantit qu'aucun ex-aequo n'est injustement exclu, au prix d'un nombre de lignes parfois supérieur au N visé.- Aucune des deux n'est « la bonne » dans l'absolu : le choix dépend du besoin métier exact.
À vous de jouer : pour afficher un podium (1ʳᵉ, 2ᵉ, 3ᵉ place) où un ex-aequo à la 2ᵉ place doit absolument apparaître, laquelle des deux fonctions choisiriez-vous ?
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