PaliSkill
SQL — Fonctions de fenêtrage

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