lag 分析視窗函式

從資料分割內的前一列傳回 的值 expr

語法

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

引數

  • expr:任何類型的運算式。
  • offset:指定位移的選擇性 INTEGER 常值。
  • default:與 相同類型的 expr 運算式。

傳回

結果類型符合 expr

如果 offset 為正數,則值源自 OVER 子句中指定 ORDER BY 在目前資料列前面的資料列 offset 。 0 的位移會使用目前資料列的值。 負位移會使用目前資料列後面的資料列的值。 如果您未指定 offset 它預設為 1,則緊接在下列資料列。

如果資料分割內沒有位於指定位移的資料列,則會使用指定的 default 。 預設值 defaultNULL 。 您必須提供 ORDER BY 子句

此函式與 同義 lead(expr, -offset, default)

範例

> 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