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 указан параметр , любое expr значение, равное NULL, игнорируется. Значение по умолчанию — RESPECT NULLS.
  • Предложение OVER: предложение, описывающее окно. См. статью Оконные функции.

Возвращает

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

Если offset значение является положительным, значение берется из строки, следующей за текущей строкой, указав offset ORDER BY в предложении OVER. Смещение 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