Maison > base de données > tutoriel mysql > Comment agréger plusieurs lignes en une seule dans Oracle SQL ?

Comment agréger plusieurs lignes en une seule dans Oracle SQL ?

Susan Sarandon
Libérer: 2025-01-15 18:38:46
original
779 Les gens l'ont consulté

How to Aggregate Multiple Rows into One in Oracle SQL?

Oracle SQL : combinez plusieurs lignes de données en une seule ligne

Lorsqu'un ensemble de données est organisé par colonnes spécifiques, il peut être nécessaire de fusionner plusieurs lignes en une seule. Ceci peut être réalisé grâce aux opérations d'agrégation de données de SQL.

Dans Oracle SQL, la fonction WM_CONCAT fournit un moyen simple de joindre plusieurs lignes de valeurs. Cependant, il convient de noter que cette fonction a été marquée comme non prise en charge et supprimée dans Oracle 12c et versions ultérieures.

WM_CONCAT Méthode (avant Oracle 12c)

Avant Oracle 12c, vous pouviez utiliser WM_CONCAT pour agréger des valeurs :

<code class="language-sql">SELECT field1, WM_CONCAT(field2) FROM YourTable GROUP BY field1;</code>
Copier après la connexion

Alternative : LISTAGG (Oracle 12c et versions ultérieures)

Pour les bases de données Oracle 12c ou supérieure, LISTAGG fournit une alternative à WM_CONCAT. Cette fonction fournit des fonctionnalités améliorées spécifiquement pour les tâches d'agrégation de chaînes :

<code class="language-sql">SELECT field1, LISTAGG(field2, ',') WITHIN GROUP (ORDER BY field2) FROM YourTable GROUP BY field1;</code>
Copier après la connexion

Implémentation personnalisée

S'il n'y a ni WM_CONCAT ni LISTAGG, vous pouvez créer une implémentation personnalisée en utilisant une combinaison de sous-requêtes et de fonctions de manipulation de chaînes. Les liens connexes (par exemple, oracle-base.com) fournissent des instructions détaillées sur cette méthode.

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