FirebirdSQL logo

LEAD()

Disponible en

DSQL

Syntaxe
LEAD(<expr> [, <offset> [, <default>]])
  OVER {<window_specification> | window_name}
Table 1. paramètres de fonction LEAD
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

Le nombre de lignes après la ligne courante jusqu’à la ligne à partir de laquelle la valeur doit être récupérée. Si aucun argument n’est spécifié, la valeur par défaut est 1. offset peut être une colonne, une requête imbriquée ou une autre expression qui calcule une valeur entière positive, ou un autre type qui peut être implicitement converti en BIGINT.offset ne peut pas être une valeur négative ou une fonction analytique.

default

Valeur par défaut retournée si le décalage (offset) pointe en dehors de la section. La valeur par défaut est NULL.

type de résultat de retour

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

La fonction LEAD permet d’accéder à une chaîne de caractères à un décalage physique donné (offset) après la chaîne de caractères courante.

Si le décalage (offset) pointe en dehors de la section, la valeur default sera retournée, qui prend par défaut la valeur NULL.

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