Freigeben über


nth_value-Analysefensterfunktion

Gilt für: durch Häkchen mit „Ja“ markiert Databricks SQL durch Häkchen mit „Ja“ markiert Databricks Runtime

Gibt den Wert an einem bestimmten offset im Fenster zurück.

Syntax

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

Argumente

  • expr: Ein Ausdruck beliebigen Typs
  • offset: Ein INTEGER-Literal größer als 0.
  • IGNORE NULLS oder RESPECT NULLS: Wenn IGNORE NULLS verwendet wird, wird jeder expr-Wert, der NULL ist, in der Anzahl ignoriert. Der Standardwert lautet RESPECT NULLS.
  • OVER-Klausel: Die Klausel, welche die Fenstererstellung beschreibt. Siehe Fensterfunktionen.

Gibt zurück

Der Ergebnistyp stimmt mit dem expr-Typ überein.

Die Fensterfunktion gibt den Wert von expr an der Zeile zurück, die die durch offset angegebene ab dem Anfang des Fensterframes ist.

Wenn keine solche offset-Zeile vorhanden ist, wird NULL zurückgegeben.

Sie müssen die ORDER BY-Klausel mit dieser Funktion verwenden. Wenn die Reihenfolge nicht eindeutig ist, ist das Ergebnis nicht deterministisch.

Beispiele

> SELECT a, b, nth_value(b, 2) 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   1
 A1 2   1
 A2 3   NULL