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


функция окна аналитики 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, указанному в предложении 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