次の方法で共有


lead 分析ウィンドウ関数

適用対象: 「はい」のチェック マーク Databricks SQL 「はい」のチェック マーク Databricks Runtime

パーティション内の後続の行から expr の値を返します。 この関数は lag(expr, -offset, default) の同意語です。

構文

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

引数

  • expr: 任意の型の式。
  • offset: オフセットを指定する INTEGER リテラル (省略可能)。
  • default: expr と同じ型の式。
  • IGNORE NULLS または RESPECT NULLS: IGNORE NULLS が指定されている場合、NULL の expr 値はすべて無視されます。 既定では、 RESPECT NULLSです。
  • OVER 句: ウィンドウを記述する句です。 「ウィンドウ関数」を参照してください。

戻り値

結果の型は expr と一致します。

offset が正の場合、OVER 句の ORDER BY で指定した offset だけ、現在の行より後ろの行から値が生成されます。 オフセットが 0 の場合は、現在の行の値が使用されます。 オフセットが負の場合は、現在の行より前の行の値が使用されます。 offset を指定しない場合の既定値 は 1 で、直後の行です。

パーティション内で、指定されたオフセットに行が存在しない場合は、指定されている default が使用されます。 default の既定値は NULL です。 ORDER BY 句を指定する必要があります。

> SELECT a, b, lead(b) OVER (PARTITION BY a ORDER BY b)
    FROM VALUES ('A1', 2), ('A1', 1), ('A2', 3), ('A1', 1) tab(a, b);
 A1 1   1
 A1 1   2
 A1 2   NULL
 A2 3   NULL