Справочник по функциям и операторам 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;