FirebirdSQL logo

NTH_VALUE()

Доступно в

DSQL

Синтаксис
NTH_VALUE(<expr> [, <offset>]) [FROM FIRST | FROM LAST]
  OVER {<window_specification> | window_name}
Table 1. Параметры функции NTH_VALUE
Параметр Описание

expr

Выражение.Может содержать столбец таблицы, константу, переменную, выражение, неагрегатную функцию или UDF.Агрегатные функции в качестве выражения не допускаются.

offset

Номер записи, начиная с первой (опция FROM FIRST) или последней (опция FROM LAST) записи.

Тип возвращаемого результата

тот же что и аргумент функции expr

Функция NTH_VALUE возвращает N-ое значение, начиная с первой (опция FROM FIRST) или последней (опция FROM LAST) записи.По умолчанию используется опция FROM FIRST.Смещение 1 от первой записи будет эквивалентно функции FIRST_VALUE, смещение 1 от последней записи будет эквивалентно функции LAST_VALUE.

Агрегатные функции внутри оконных

В качестве аргументов оконных функций, а также в предложении OVER разрешено использование агрегатных функций (но не оконных). В этом случае сначала вычисляются агрегатные функции, а только затем на них накладываются окна оконных функций.

Note

При использовании агрегатных функции в качестве аргументов оконных функций, все столбцы, не используемые в агрегатных функциях должны быть указаны в предложении GROUP BY.

Example 1. Использование агрегатной функции в качестве аргумента оконной
SELECT
    code_employee_group,
    AVG(salary) AS avg_salary,
    RANK() OVER(ORDER BY AVG(salary)) AS salary_rank
FROM employee
GROUP BY code_employee_group