- Catégories :
Syntaxe et utilisation des fonctions de fenêtre (Classement)
LAG¶
Accède aux données d’une ligne précédente dans le même jeu de résultats sans avoir à joindre la table en soi.
- Voir aussi :
Syntaxe¶
Arguments¶
exprL’expression à renvoyer en fonction du décalage spécifié.
offsetLe nombre de lignes en arrière par rapport à la ligne en cours pour obtenir une valeur. Par exemple, un
offsetde 2 renvoie la valeurexpravec un intervalle de 2 lignes.Notez que le réglage d’un décalage négatif a le même effet que l’utilisation de la fonction LEAD.
La valeur par défaut est 1.
defaultL’expression à renvoyer lorsque le décalage sort des limites de la fenêtre. Prend en charge toute expression dont le type est compatible avec
expr.La valeur par défaut est NULL.
{ IGNORE | RESPECT } NULLSIgnorer ou respecter les valeurs de NULL lorsqu’une valeur
exprcontient des valeurs NULL :IGNORE NULLSexclut toute ligne dont l’expression vaut NULL lorsque les lignes décalées sont comptées.RESPECT NULLSinclut toute ligne dont l’expression vaut NULL lorsque les lignes décalées sont comptées.
Par défaut :
RESPECT NULLS
Notes sur l’utilisation¶
La clause PARTITIONBY partitionne le jeu de résultats généré par la clause FROM en partitions auxquelles la fonction est appliquée. Pour plus d’informations, voir Syntaxe et utilisation des fonctions de fenêtre.
La clause ORDERBY ordonne les données dans chaque partition.
Exemples¶
Créer la table et charger les données :
Cette requête montre la différence entre les revenus de cette année et ceux de l’année précédente :
Créer une autre table et charger les données :
Cette requête montre comment la clause IGNORE NULLS affecte la sortie. Toutes les lignes (sauf la première) contiennent des valeurs non NULL, même si la ligne précédente contenait NULL. Si la ligne précédente contenait NULL, la ligne actuelle utilise la valeur non NULL la plus récente.