ConsigneNumé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() numérote les lignes 1, 2, 3... sans jamais donner deux fois le même numéro À L'intérieur D'UN même groupe. Avec partition BY, la numérotation repart à 1 dans chaque groupe : plusieurs lignes portent alors le numéro 1, une par groupe. 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_catFROM 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 →