Section courante

A propos

Section administrative du site

FIRST

Premier
Oracle Database SQL Oracle 9i ou supérieure

Syntaxe

aggregate_function KEEP ( DENSE_RANK FIRST ORDER BY expr [ DESC | ASC ] [ NULLS { FIRST | LAST } ] [, expr [ DESC | ASC ] [ NULLS { FIRST | LAST } ] ]... ) [ OVER ( [query_partition_clause] ) ]

Paramètres

Nom Description
aggregate_function Ce paramètre permet de spécifier la fonction d'agrégation à appliquer (comme MIN, MAX, SUM, AVG,...) pour laquelle on souhaite conserver uniquement la première valeur selon un classement donné.
KEEP Ce mot clef permet d'indiquer que l'agrégat doit être appliqué en conservant uniquement la ligne correspondant à la première (ou dernière) occurrence selon le DENSE_RANK.
DENSE_RANK Ce mot clef permet de gérer les ex-aequo dans le classement en attribuant un même rang à des valeurs identiques, sans sauter de rang, garantissant une sélection cohérente avec des données dupliquées.
FIRST Ce paramètre permet d'indiquer que l'on souhaite conserver la première valeur (par opposition à LAST), en se basant sur l'ordre défini par les expressions de tri (ORDER BY).
ORDER BY expr Ce paramètre permet de définir les expressions ou colonnes utilisées pour classer les lignes, et ainsi déterminer laquelle sera considérée comme la « première » dans l'opération d'agrégation.
OVER(...) Ce paramètre permet d'utiliser la fonction dans un contexte analytique, en spécifiant éventuellement un partitionnement via PARTITION BY, pour appliquer la logique sur des sous-ensembles de données.
query_partition_clause Ce paramètre permet de diviser les lignes d'un ensemble de résultats en partitions, sur lesquelles la fonction FIRST s'appliquera indépendamment, facilitant des calculs localisés par groupe.

Description

Cette fonction permet de retourner la première valeur d'un groupe ou d'un ensemble, selon l'ordre défini par une clause ORDER BY. Elle est souvent utilisée dans les agrégats KEEP (DENSE_RANK FIRST ORDER BY ...).

Remarques



Dernière mise à jour : Dimanche, le 29 Juin 2025