Maison > base de données > Oracle > Utilisation de la fonction listagg dans Oracle

Utilisation de la fonction listagg dans Oracle

下次还敢
Libérer: 2024-05-03 00:15:28
original
591 Les gens l'ont consulté

La fonction LISTAGG concatène un ensemble de lignes de données en une chaîne, en utilisant le caractère de concaténation spécifié pour séparer les éléments. L'utilisation comprend : 1. Joindre toutes les valeurs dans une colonne ; 2. Séparer les valeurs à l'aide de caractères de jointure ; 3. Ignorer les valeurs NULL ; 4. Partitionner par groupe ;

Utilisation de la fonction listagg dans Oracle

Utilisation de la fonction LISTAGG dans Oracle

Définition :
La fonction LISTAGG concatène un ensemble de lignes de données en une chaîne et sépare les éléments à l'aide du connecteur spécifié.

Syntaxe :

<code>LISTAGG(expression, delimiter [IGNORE NULLS]) OVER (PARTITION BY partition_expression ORDER BY order_expression)</code>
Copier après la connexion

Paramètres :

  • expression : les colonnes de données à connecter
  • delimiter : le délimiteur de caractères entre les éléments connectés (facultatif)
  • IGNORE NULLS : ignorer les valeurs NULL (facultatif) )
  • partition_expression : colonne de données partitionnées, précise le groupe dans lequel se trouvent les éléments du composant (facultatif)
  • order_expression : précise l'ordre dans lequel les éléments sont connectés (facultatif)

Utilisation :

La fonction LISTAGG est généralement utilisé pour combiner plusieurs lignes en une seule chaîne pour un affichage ou un traitement plus facile. Voici ses utilisations typiques :

1. Joignez toutes les valeurs dans une colonne

<code>SELECT LISTAGG(name) FROM table_name;</code>
Copier après la connexion

2 Séparez les valeurs à l'aide de jointeurs

<code>SELECT LISTAGG(name, ', ') FROM table_name;</code>
Copier après la connexion

3. . Partitionner par groupe

<code>SELECT LISTAGG(name IGNORE NULLS) FROM table_name;</code>
Copier après la connexion
E 按5. Connectez la valeur dans l'ordre

<code>SELECT LISTAGG(name) OVER (PARTITION BY group_id) FROM table_name;</code>
Copier après la connexion
E

Exemple :

Le tableau suivant montre l'exemple d'utilisation des fonctions Listagg dans la table des employés :

ID d'employé

nom. JohnUtilisez la fonction LISTAGG pour joindre tous les noms d'employés : Résultat :
<code>SELECT LISTAGG(name) FROM employees;</code>
Copier après la connexion
Utilisez des virgules comme connecteurs :
1
2 Jane
3 David
<code>SELECT LISTAGG(name) OVER (ORDER BY name) FROM table_name;</code>
Copier après la connexion
<code>John, Jane, David</code>
Copier après la connexion
Copier après la connexion

Résultats :

<code>SELECT LISTAGG(name, ', ') FROM employees;</code>
Copier après la connexion

Partitionner par département et connecter les noms des employés pour chaque département :

<code>John, Jane, David</code>
Copier après la connexion
Copier après la connexion

Résultats :

<code>SELECT LISTAGG(name) OVER (PARTITION BY department) FROM employees;</code>
Copier après la connexion

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Étiquettes associées:
source:php.cn
Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal