Fonction de fenêtre analytique lag
S’applique à : Databricks SQL Databricks Runtime
Retourne la valeur de expr
à partir d’une ligne précédente dans la partition.
Syntaxe
lag( expr [, offset [, default] ] ) [ IGNORE NULLS | RESPECT NULLS ] OVER clause
Arguments
expr
: Expression de tout type.offset
: littéral ENTIER facultatif spécifiant le décalage.default
: expression du même type queexpr
.IGNORE NULLS
ouRESPECT NULLS
: quandIGNORE NULLS
est spécifié, toute valeurexpr
NULL est ignorée. Par défaut, il s’agit deRESPECT NULLS
.- Clause OVER : clause décrivant le fenêtrage. Consultez les Fonctions de fenêtre.
Retours
Le résultat est du type d’expr
.
Si offset
est positif, la valeur provient de la ligne qui précède la ligne actuelle en offset
spécifiée en tant que ORDER BY dans la clause OVER.
Un décalage de 0 utilise la valeur de la ligne actuelle.
Un décalage négatif utilise la valeur d’une ligne qui suit la ligne actuelle.
Si vous ne le spécifiez pas offset
, la valeur par défaut est 1 à la ligne qui suit immédiatement.
S’il n’existe aucune ligne au niveau du décalage spécifié au sein de la partition, le default
spécifié est utilisé.
La valeur default
par défaut est NULL
.
Vous devez fournir une clause ORDER BY.
Cette fonction est similaire à lead(expr, -offset, default)
.
Exemples
> SELECT a, b, lag(b) OVER (PARTITION BY a ORDER BY b)
FROM VALUES ('A1', 2), ('A1', 1), ('A2', 3), ('A1', 1) tab(a, b);
A1 1 NULL
A1 1 1
A1 2 1
A2 3 NULL