PaliSkill
SQL — Fonctions de fenêtrage

Leçon 8 / 9 — Chapitre 2: Isoler le top N par groupe

NTILE et filtrage : isoler un quartile précis

Comme les autres fonctions de fenêtre, le résultat de NTILE() (vu au chapitre précédent) se filtre via une sous-requête.

SELECT nom FROM (
  SELECT nom,
    NTILE(2) OVER (ORDER BY anciennete DESC, id ASC) AS moitie
  FROM employes
) t WHERE moitie = 1;

D'après le chapitre précédent, NTILE(2) forme deux groupes de 3 : le groupe 1 contient David, Farid et Amara (les 3 plus anciens). Ce filtre WHERE moitie = 1 isole donc ces 3 lignes.

À retenir :

  • Filtrer sur NTILE() isole un groupe de taille prévisible (ici, la moitié la plus ancienne), contrairement à PERCENT_RANK, qui isole une proportion continue sans garantir un nombre de lignes rond.
  • Le choix entre NTILE et PERCENT_RANK pour un filtrage dépend de si l'on veut un nombre de groupes fixe (NTILE) ou un seuil continu sur une échelle 0-1 (PERCENT_RANK).

À vous de jouer : Baptiste apparaît-il dans ce résultat ? Justifiez à partir de son groupe NTILE (vu au chapitre précédent).

🔒

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