Leçon 8 / 9 — Chapitre 1: Classer avec ROW_NUMBER, RANK, DENSE_RANK
NTILE() : répartir en groupes égaux
NTILE(n) OVER (ORDER BY colonne) répartit les lignes en n groupes de taille aussi égale que possible, numérotés de 1 à n selon l'ordre indiqué — utile pour des quartiles, déciles, ou ici de simples moitiés.
SELECT nom, anciennete,
NTILE(2) OVER (ORDER BY anciennete DESC, id ASC) AS moitie
FROM employes;
Classement complet par ancienneté décroissante : David(1), Farid(2), Amara(3), Baptiste(4), Chloé(5), Elise(6). NTILE(2) avec 6 lignes forme 2 groupes de 3 : les rangs 1 à 3 (David, Farid, Amara) reçoivent moitie = 1 ; les rangs 4 à 6 (Baptiste, Chloé, Elise) reçoivent moitie = 2.
À retenir :
NTILE(n)répartit les lignes en n groupes numérotés de 1 à n, aussi égaux que possible en taille.- Quand le nombre de lignes n'est pas un multiple exact de n, les premiers groupes reçoivent une ligne de plus que les derniers.
NTILE(4)donnerait des quartiles,NTILE(10)des déciles — le même principe, avec un découpage plus fin.
À vous de jouer : dans quel groupe (1 ou 2) tombe Chloé avec ce NTILE(2) ?
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