Fonction de fenêtre analytique lag

S’applique à :case marquée oui Databricks SQL case marquée oui 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 que expr.
  • IGNORE NULLS ou RESPECT NULLS : quand IGNORE NULLS est spécifié, toute valeur expr NULL est ignorée. Par défaut, il s’agit de RESPECT NULLS.
  • Clause OVER : clause décrivant le fenêtrage. Consultez l’article 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