PaliSkill
← SQL — Fonctions de fenêtrage

Chapitre 1 / 9

Classer avec ROW_NUMBER, RANK, DENSE_RANK

9 leçons dans ce chapitre.

1

Principe général : la différence avec GROUP BY

Disponible
0%

réduit vos lignes : N lignes deviennent un nombre de lignes égal au nombre de groupes distincts. Une fonction de fenêtrage () fait…

Voir les détails du chapitre

réduit vos lignes : N lignes deviennent un nombre de lignes égal au nombre de groupes distincts. Une fonction de fenêtrage () fait l'inverse : elle calcule une valeur agrégée pour chaque ligne, sans en supprimer aucune. → 2 lignes (une par équipe : ventes, support) — les 6 lignes individuelles ont disparu. → 6 lignes (toutes les lignes d'origine, chacune enrichie d'une colonne tailleequipe). À ret…

2

ROW_NUMBER()

Disponible
0%

attribue un numéro de ligne unique, croissant, selon l'ordre indiqué. Trié par ancienneté décroissante (le plus ancien en premier)…

Voir les détails du chapitre

attribue un numéro de ligne unique, croissant, selon l'ordre indiqué. Trié par ancienneté décroissante (le plus ancien en premier), avec l'id comme départage en cas d'égalité : David (7 ans, id 4) et Farid (7 ans, id 6) sont exaequo sur l'ancienneté, mais ROWNUMBER() leur attribue quand même deux rangs différents et uniques (1 et 2, départagés par id) — jamais le même numéro deux fois. À retenir :…

3

ORDER BY à l'intérieur d'une fonction de fenêtrage

Disponible
0%

Le placé à l'intérieur de détermine le calcul de la fonction de fenêtrage (l'ordre dans lequel les rangs sont attribués) — ce n'es…

Voir les détails du chapitre

Le placé à l'intérieur de détermine le calcul de la fonction de fenêtrage (l'ordre dans lequel les rangs sont attribués) — ce n'est pas le même que celui, optionnel, placé à la toute fin d'une requête pour trier l'affichage des résultats. Sans ORDER BY final sur cette requête, les lignes du résultat peuvent s'afficher dans n'importe quel ordre (généralement l'ordre naturel de la table) — seule la…

🔒

PARTITION BY : appliquer par groupe

Verrouillée

, ajouté dans OVER(...), fait recommencer le calcul à zéro pour chaque valeur distincte de cette colonne — comme un GROUP BY qui n…

🔒

PARTITION BY sur plusieurs colonnes

Verrouillée

accepte plusieurs colonnes séparées par une virgule : le calcul repart alors à zéro pour chaque combinaison distincte de ces colon…

🔒

RANK() et DENSE_RANK() : gérer les ex-aequo

Verrouillée

et gèrent les exaequo différemment de ROWNUMBER() : deux lignes à égalité reçoivent le même rang. Dans l'équipe support, David et…

🔒

Comparer ROW_NUMBER, RANK et DENSE_RANK côte à côte

Verrouillée

Calculer les trois fonctions dans une même requête rend leurs différences immédiatement visibles. Sur l'équipe support (David 7 an…

🔒

NTILE() : répartir en groupes égaux

Verrouillée

répartit les lignes en groupes de taille aussi égale que possible, numérotés de 1 à n selon l'ordre indiqué — utile pour des quart…

🔒

Cas pratique : combiner plusieurs classements

Verrouillée

Ce cas pratique combine , et — les notions de ce chapitre. Étape par étape : 1. Dans l'équipe ventes : Amara (rangequipe 1, rangra…

Quiz de chapitre

6 questions transversales sur ce chapitre.

Voir le quiz →

Progression du chapitre

0/9 terminées

Accès complet

Les 3 premières leçons de ce module sont gratuites.

8 000 XOF / 12,20 € / 13,29 $

Débloquez les 78 leçons restantes de ce module