Загрузка...
Справочник по функциям и операторам SQL

LAST_VALUE

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

Синтаксис

LAST_VALUE(expression) OVER (PARTITION BY column1, column2, ... ORDER BY column1 [ASC|DESC], column2 [ASC|DESC] ROWS|RANGE BETWEEN ... AND ...)
  • expression: Выражение, значение которого будет возвращено
  • PARTITION BY: (необязательно) Разделяет набор строк в группы, для каждой из которых функция LAST_VALUE будет вычислена независимо
  • ORDER BY: Упорядочивает строки внутри каждой группы (если используется PARTITION BY) или всего набора строк, определяя порядок для выбора последнего значения.
  • ROWS|RANGE: (необязательно) Определяет рамки окна относительно текущей строки.

Параметры ROWS и RANGE позволяют ограничить рамки окна, что может быть полезно для более сложных вычислений. Например, можно ограничить окно текущей строкой и всеми последующими строками:

SELECT name, salary, LAST_VALUE(salary) OVER (ORDER BY salary DESC ROWS BETWEEN CURRENT ROW AND UNBOUNDED FOLLOWING) AS last_salary FROM Client;

Пример