lag funzione finestra analitica

Restituisce il valore di expr da una riga precedente all'interno della partizione.

Sintassi

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

Argomenti

  • expr: espressione di qualsiasi tipo.
  • offset: valore letterale INTEGER facoltativo che specifica l'offset.
  • default: espressione dello stesso tipo exprdi .

Restituisce

Il tipo di risultato corrisponde a expr.

Se offset è positivo, il valore ha origine dalla riga precedente alla riga corrente specificata da offset ORDER BY nella clausola OVER. Un offset pari a 0 utilizza il valore della riga corrente. Un offset negativo usa il valore di una riga che segue la riga corrente. Se non si specifica offset il valore predefinito 1, la riga immediatamente seguente.

Se non è presente alcuna riga in corrispondenza dell'offset specificato all'interno della partizione, viene utilizzato l'oggetto specificato default . Il default valore predefinito è NULL. È necessario specificare una clausola ORDER BY.

Questa funzione è un sinonimo di lead(expr, -offset, default).

Esempio

> 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