Les fonctions de fenêtrage permettent
de ranger des lignes ou d’effectuer des calculs sur des
sous-groupes après avoir partitionné des enregistrements.
1. Numérotation séquentielle et rangement
de lignes Fonctions de fenêtrage:numérotation séquentielle Fonctions de fenêtrage:rangement de lignes
Ce sont les fonctions qui permettent de ranger
des lignes. RANK permet de numéroter des lignes dans un
ordre. DENSE_RANK permet de numéroter les lignes
dans un ordre avec des numéros à suivre. ROW_NUMBER
permet de numéroter des lignes avec des numéros à suivre,
telle une suite. La numérotation peut être effectuée
sur des sous-groupes d’enregistrements. RANK
Voici des exemples de numérotation
de la table tarifs par prix, sans et avec partitionnement par
type de chambre.
Exemples pour SQL Server, Oracle et
PostgreSQL
SELECT Hotel, typeChambre, Prix, RANK() OVER(ORDER BY Prix DESC)
AS Numero, DENSE_RANK() OVER(ORDER BY Prix DESC) AS NumeroASuivre,
ROW_NUMBER() OVER(ORDER BY Prix DESC) AS Suite FROM Tarifs; OVER
SELECT Hotel, typeChambre, Prix
, RANK() OVER(PARTITION BY TypeChambre ORDER BY Prix DESC) AS Numero
, DENSE_RANK() OVER(PARTITION BY TypeChambre ORDER BY Prix DESC) AS
NumeroASuivre
, ROW_NUMBER() OVER(PARTITION BY TypeChambre ORDER ...