Поделиться через


функция nth_value аналитическая window

Область применения:флажок Databricks SQL флажок Databricks Runtime

Возвращает значение в определенном offset в window.

Синтаксис

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

Аргументы

  • expr: выражение любого типа.
  • offset: литерал INTEGER с положительным значением.
  • IGNORE NULLS или RESPECT NULLS: когда используется IGNORE NULLS, любое значение expr, равное NULL, не учитывается. Значение по умолчанию — RESPECT NULLS.
  • Предложение OVER: предложение, описывающее окно. См. функции Window.

Возвраты

Тип результата соответствует типу expr.

Функция window возвращает значение expr в строке, которая является строкой offsetс начала кадра window.

Если offset-й строки не существует, возвращается значение NULL.

Необходимо использовать предложение ORDER BY с этой функцией. Если порядок не уникален, результат будет недетерминированным.

Примеры

> 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