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


Агрегатная функция last_value

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

Возвращает последнее значение expr для группы строк. Эта функция является синонимом агрегатной функции last.

Синтаксис

last_value(expr [, ignoreNull] ) [FILTER ( WHERE cond ) ] [ IGNORE NULLS | RESPECT NULLS ]

Эту функцию также можно вызвать как функцию окна с помощью OVER предложения.

Аргументы

  • expr: выражение любого типа.
  • ignoreNull: необязательный литерал BOOLEAN, значение которого по умолчанию false.
  • cond: необязательное логическое выражение для фильтрации строк, используемых для агрегирования.
  • "IGNORE NULLS или RESPECT NULLS: когда используется IGNORE NULLS или ignoreNull имеет значение true, любое значение expr, которое равно NULL, игнорируется." Значение по умолчанию — RESPECT NULLS.

Возвраты

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

Эта функция является недетерминированной.

Примеры

> SELECT last_value(col) FROM VALUES (10), (5), (20) AS tab(col);
 20

> SELECT last_value(col) FROM VALUES (10), (5), (NULL) AS tab(col);
 NULL

> SELECT last_value(col, true) FROM VALUES (10), (5), (NULL) AS tab(col);
 5

> SELECT last_value(col) IGNORE NULLS FROM VALUES (10), (5), (NULL) AS tab(col);
 5

> SELECT last_value(col) FILTER (WHERE col > 5) FROM VALUES (5), (20) AS tab(col);
 20