Sdílet prostřednictvím


lead Analytická funkce okna

Platí pro: zaškrtnutí označeného ano Databricks SQL zaškrtnutí označeného ano Databricks Runtime

Vrátí hodnotu z dalšího expr řádku v rámci oddílu. Tato funkce je synonymem pro lag(expr, -offset, default).

Syntaxe

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

Argumenty

  • expr: Výraz libovolného typu.
  • offset: Volitelný literál INTEGER určující posun.
  • default: Výraz stejného typu jako expr.
  • IGNORE NULLS nebo RESPECT NULLS: Při IGNORE NULLS zadání se ignoruje jakákoli expr hodnota, která má hodnotu NULL. Výchozí hodnota je RESPECT NULLS.
  • Klauzule OVER: Klauzule popisující okno. Viz: Funkce okna.

Návraty

Typ výsledku odpovídá expr.

Pokud offset je hodnota kladná, pochází z řádku za aktuálním řádkem zadáním offset ORDER BY v klauzuli OVER. Posun 0 používá hodnotu aktuálního řádku. Záporný posun používá hodnotu z řádku předcházejícího aktuálnímu řádku. Pokud ho nezadáte offset jako výchozí hodnotu 1, bezprostředně následující řádek.

Pokud v zadaném posunu v rámci zadaného oddílu není žádný řádek, použije se zadaný default řádek. Výchozí default hodnota je NULL. Musí být k dispozici klauzule ORDER BY.

Příklady

> 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