Maison > base de données > tutoriel mysql > Comment générer des valeurs séparées par des virgules à partir de données groupées dans DB2 SQL ?

Comment générer des valeurs séparées par des virgules à partir de données groupées dans DB2 SQL ?

Patricia Arquette
Libérer: 2025-01-09 14:33:42
original
631 Les gens l'ont consulté

How to Generate Comma-Separated Values from Grouped Data in DB2 SQL?

Les données groupées DB2 SQL génèrent des valeurs séparées par des virgules

Question : Existe-t-il une fonction dans DB2 SQL qui peut générer directement des valeurs séparées par des virgules de données de colonnes groupées ?

Scénario : Nous avons une table avec une colonne ID et une colonne Rôle. Il peut y avoir plusieurs lignes pour le même ID, chaque ligne représentant un rôle différent pour cet ID. L'objectif est de concaténer ces rôles dans une chaîne séparée par des virgules pour chaque identifiant unique.

Exemple :

<code>ID   | Role
------------
4555 | 2
4555 | 3
4555 | 4</code>
Copier après la connexion

Résultat attendu :

<code>4555 2,3,4</code>
Copier après la connexion

Réponse :

DB2 LUW 9.7 introduit une nouvelle fonction LITAGG qui résout ce problème.

Grammaire :

<code>LISTAGG(expression, delimiter) WITHIN GROUP (ORDER BY expression ASC|DESC)</code>
Copier après la connexion

Instructions :

  • expression : Colonne à rejoindre
  • délimiteur : Le délimiteur utilisé entre les valeurs concaténées (par exemple,,)

Utilisation :

Pour récupérer les valeurs de rôle séparées par des virgules pour chaque ID unique, vous pouvez utiliser la requête suivante :

<code>SELECT id, LISTAGG(role, ', ') WITHIN GROUP (ORDER BY role ASC) AS roles
FROM myTable
GROUP BY id;</code>
Copier après la connexion

Sortie :

<code>ID   | roles
------------
4555 | 2,3,4</code>
Copier après la connexion

Notes supplémentaires :

  • La clause ORDER BY de la fonction LISTAGG détermine l'ordre des jointures.
  • Si aucune clause ORDER BY n'est spécifiée, les valeurs seront concaténées dans n'importe quel ordre.
  • La fonction
  • LISTAGG peut également être utilisée pour générer d'autres types de chaînes de connexion, telles que des valeurs séparées par des nouvelles lignes.

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!

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
Derniers articles par auteur
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal