lag fungsi jendela analitik

Berlaku untuk:centang ditandai ya Databricks SQL centang ditandai ya Databricks Runtime

Mengembalikan nilai expr dari baris sebelumnya dalam partisi.

Sintaks

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

Argumen

  • expr: Ekspresi jenis apa pun.
  • offset: Literal opsional INTEGER yang menentukan offset.
  • default: Ekspresi dari jenis yang sama dengan expr.
  • IGNORE NULLS atau RESPECT NULLS: Ketika IGNORE NULLS ditentukan, nilai apa pun expr yang NULL diabaikan. Default adalah RESPECT NULLS.
  • Klausa OVER: Klausa yang menjelaskan jendela. Lihat: fungsi jendela .

Mengembalikan

Jenis hasil cocok dengan expr.

Jika offset positif, nilai berasal dari baris sebelum baris saat ini dengan offset menentukan ORDER BY dalam klausul OVER. Offset 0 akan menggunakan nilai dari baris saat ini. Offset negatif menggunakan nilai dari baris setelah baris saat ini. Jika Anda tidak menentukannya offset secara default ke 1, baris sebelumnya segera.

Jika tidak ada baris pada offset yang ditentukan dalam partisi, default yang ditentukan akan digunakan. defaultDefault adalah NULL. Anda harus memberikan klausa ORDER BY.

Fungsi ini adalah sinonim untuk lead(expr, -offset, default).

Contoh

> 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