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érotationExemple (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 categorieEnvie d'aller plus loin ? Découvrez nos formations certifiées Bac+2 à Bac+5 →