lag

lag

lag 介绍

lag(input[, offset[, default]]) - 返回当前行之前第 offset 行的 input 值。offset 的默认值是 1,default 的默认值是 null。如果第 offset 行的 input 值是 null,则返回 null。如果没有这样的偏移行(例如,当 offset 是 1 时,窗口的第一行没有之前的行),则返回 default。

参数:

  • input - 一个字符串表达式,用于评估当前行之前 offset 行的值。
  • offset - 一个整数表达式,表示在分区中回退的行数。
  • default - 一个字符串表达式,当偏移行不存在时使用。

Examples:

> 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

Since: 2.0.0