lag fonction de fenêtre analytique

Retourne la valeur de expr à partir d’une ligne précédente dans la partition.

Syntaxe

lag( expr [, offset [, default] ] )

Arguments

  • expr: Expression de n’importe quel type.
  • offset: Littéral entier facultatif spécifiant l’offset.
  • default: Expression du même type que expr .

Retours

Le type de résultat correspond à expr .

Si offset est positif, la valeur provient de la ligne qui précède la ligne actuelle en offset spécifiant l’ordre de tri dans la clause de dépassement. 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 à l’offset spécifié au sein de la partition, le spécifié default est utilisé. La default valeur par défaut est NULL . Vous devez fournir une clause ORDER BY.

Cette fonction est un synonyme de 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