Exercice 31 / 60

Fonctions fenêtre - ROW_NUMBER

Numérote les etudiants à l'intérieur de chaque ville, du meilleur au moins bon, avec une fonction fenêtre. Nomme cette colonne rang_ville. Colonnes : nom, ville, note, rang_ville.

Les fonctions fenêtre (window functions) calculent une valeur sur un groupe de lignes sans les fusionner (contrairement a group BY). row_number() attribue un numéro unique a chaque ligne. Syntaxe : row_number() over (partition BY col order BY col2)

PARTITION BY découpe en groupes (la numérotation repart a 1) ORDER BY définit l'ordre de numérotation
PARTITION BY découpe en seaux sans fusionner les lignes, et la numérotation de ROW_NUMBER repart à 1 dans chacun

Exemple (table produits) :

SELECT nom, categorie, prix, ROW_NUMBER() OVER (PARTITION BY categorie ORDER BY prix DESC) AS rang_cat FROM produits; -> classe les produits a l'intérieur de chaque categorie
etudiants
idnomprenomemailnotevilleagedate_inscriptiondepartementcompetences
query.sql

Envie d'aller plus loin ? Découvrez nos formations certifiées Bac+2 à Bac+5 →