Section courante

A propos

Section administrative du site

LISTAGG

Liste d'agrégations
Oracle Database SQL Oracle 12c (12.2) ou supérieure

Syntaxe

LISTAGG( [ ALL ]measure_expr [, 'delimiter'] [ listagg_overflow_clause ] ) [ WITHIN GROUP ] ( order_by_clause ) [ OVER [ ( query_partition_clause ) ] ]

Paramètres

Nom Description
ALL Ce paramètre permet de conserver toutes les valeurs, y compris les doublons, lors de la concaténation. Sans ce mot clef, le comportement par défaut reste inchangé (aucune suppression).
measure_expr Ce paramètre permet de spécifier l'expression ou la colonne dont les valeurs seront concaténées ligne par ligne dans le résultat.
'delimiter' Ce paramètre permet de définir le séparateur inséré entre les différentes valeurs concaténées. Si omis, aucun caractère n'est utilisé comme délimiteur.
listagg_overflow_clause Ce paramètre permet de définir le comportement en cas de dépassement de la taille maximale autorisée pour une chaîne (4000 caractères en SQL).
WITHIN GROUP Ce paramètre permet de spécifier que les lignes doivent être agrégées selon un ordre donné défini par la clause ORDER BY.
order_by_clause Ce paramètre permet de définir l'ordre de concaténation des valeurs dans la chaîne finale, ce qui peut influencer l'ordre alphabétique, numérique,...
OVER Ce paramètre permet d'utiliser LISTAGG comme fonction analytique, c'est-à-dire sans regrouper les lignes mais en conservant le détail tout en générant la concaténation.
query_partition_clause Ce paramètre permet de diviser les lignes d'entrée en partitions, de manière à ce que LISTAGG s'applique indépendamment à chaque groupe de partitions.

Description

Cette fonction permet de concaténer les valeurs d'une colonne sur plusieurs lignes en une seule chaîne de caractères, séparées par un délimiteur spécifié. Elle est souvent utilisée dans les agrégations pour produire des listes groupées (ex. noms, codes, catégories) à partir de requêtes SQL. Elle est compatible avec les clauses GROUP BY et peut également être utilisée avec une clause WITHIN GROUP (ORDER BY ...) pour contrôler l'ordre d'agrégation.

Remarques



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