FirebirdSQL logo

NTH_VALUE()

Disponible en

DSQL

Syntaxe
NTH_VALUE(<expr> [, <offset>]) [FROM FIRST | FROM LAST]
  OVER {<window_specification> | window_name}
Table 1. paramètres de fonction NTH_VALUE
Paramètre Description

expr

Expression : peut contenir une colonne de table, une constante, une variable, une expression, une fonction non agrégée ou une UDR. Les fonctions agrégées ne sont pas autorisées comme expression.

offset

Numéro d’enregistrement à partir du premier (option FROM FIRST) ou du dernier (option FROM LAST) enregistrement.

type de résultat de retour

est le même que l’argument de la fonction expr.

La fonction NTH_VALUE renvoie une Nième valeur à partir du premier (option FROM FIRST) ou du dernier (option FROM LAST) enregistrement. La valeur par défaut est FROM FIRST. L’offset 1 du premier enregistrement sera équivalent à la fonction FIRST_VALUE, l’offset 1 du dernier enregistrement sera équivalent à la fonction LAST_VALUE.

Fonctions agrégées dans une Window

Les fonctions agrégées (mais pas les fonctions Windows) sont autorisées comme arguments des fonctions Windows ainsi que dans la clause OVER. Dans ce cas, les fonctions agrégées sont évaluées en premier lieu et seulement ensuite les fonctions de Window sont superposées à celles-ci.

Note

Lorsque vous utilisez des fonctions d’agrégation comme arguments de fonction de Window, toutes les colonnes non utilisées dans les fonctions d’agrégation doivent être spécifiées dans la clause `GROUP BY'.

Example 1. utiliser de la fonction agrégée comme argument d’une Window
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