Cette page a été traduite de l'anglais avec l'aide de l'IA. En cas de divergence, la version anglaise fait référence.
FIRST_VALUE
Renvoie la valeur de l'expression évaluée sur la première ligne du cadre de fenêtre.
Cette fonction de fenêtrage intégrée calcule le cadre de fenêtre de chaque ligne de la même manière qu'une fonction de fenêtrage d'agrégation. Elle renvoie, pour chaque ligne, la valeur de l'expression évaluée sur la première ligne du cadre de fenêtre.
Voir aussi :
[SELECT] [LAST_VALUE] [NTH_VALUE]
Syntaxe
SELECT FIRST_VALUE(expr) OVER (
[PARTITION BY column]
ORDER BY column
[ROWS BETWEEN frame_start AND frame_end]
) FROM <multipartIdentifier>;
Arguments
expr L'expression à évaluer sur la première ligne du cadre de fenêtre.
PARTITION BY column
Facultatif. Divise le jeu de résultats en partitions. La fonction FIRST_VALUE est appliquée séparément au sein de chaque partition.
ORDER BY column Spécifie l'ordre dans lequel les lignes sont traitées.
ROWS BETWEEN frame_start AND frame_end Facultatif. Définit le cadre de fenêtre. Les options courantes sont notamment :
ROWS BETWEEN UNBOUNDED PRECEDING AND CURRENT ROW(valeur par défaut)ROWS BETWEEN UNBOUNDED PRECEDING AND UNBOUNDED FOLLOWING
Valeur(s) renvoyée(s)
Renvoie la valeur de l'expression évaluée sur la première ligne du cadre de fenêtre.
Exemples
Trouver la première version à titre de contexte
-- Find first and latest release for context
SELECT
tag_name,
name,
published_at,
FIRST_VALUE(tag_name) OVER (
ORDER BY published_at
ROWS BETWEEN UNBOUNDED PRECEDING AND UNBOUNDED FOLLOWING
) as first_release,
LAST_VALUE(tag_name) OVER (
ORDER BY published_at
ROWS BETWEEN UNBOUNDED PRECEDING AND UNBOUNDED FOLLOWING
) as latest_release
FROM github.repos.releases
WHERE owner = 'stackql'
AND repo = 'stackql';
Par défaut, le cadre de fenêtre s'étend du début de la partition à la ligne courante. Pour inclure toutes les lignes de la partition, utilisez ROWS BETWEEN UNBOUNDED PRECEDING AND UNBOUNDED FOLLOWING.
Pour plus d'informations, consultez https://sqlite.org/windowfunctions.html#built-in_window_functions.