Aller au contenu principal
Page traduite

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';
astuce

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.