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


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

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

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

Синтаксис

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

Аргументы

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

Возвраты

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

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

Если 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