Compartir vía


Función de ventana analítica lag

Se aplica a:casilla marcada como Sí Databricks SQL casilla marcada como Sí Databricks Runtime

Devuelve el valor de expr de una fila anterior dentro de la partición.

Sintaxis

lag( expr [, offset [, default] ] ) [ IGNORE NULLS | RESPECT NULLS ] OVER clause

Argumentos

  • expr: una expresión de cualquier tipo.
  • offset: literal opcional INTEGER que especifica el desplazamiento.
  • default: una expresión del mismo tipo que expr.
  • IGNORE NULLS o RESPECT NULLS: cuando IGNORE NULLS se especifica , se omite cualquier expr valor que se NULL omita. El valor predeterminado es RESPECT NULLS.
  • Cláusula OVER: la cláusula que describe la función de ventana. Consulta: Funciones de ventana.

Devoluciones

El tipo del resultado coincide con el de expr.

Si offset es positivo, el valor se origina en la fila anterior a la fila actual por offset especificada en la cláusula OVER ORDER BY. Un desplazamiento de 0 usa el valor de la fila actual. Con un desplazamiento negativo, se usa el valor de una fila posterior a la fila actual. Si no especifica offset el valor predeterminado es 1, la fila inmediatamente anterior.

Si no hay ninguna fila en el desplazamiento especificado dentro de la partición, se usa el valor de default especificado. El valor predeterminado de default es NULL. Debe proporcionar una ORDER BY cláusula.

Esta función es un sinónimo de lead(expr, -offset, default).

Ejemplos

> 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