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

Comment puis-je agréger plusieurs lignes en une seule ligne dans Oracle SQL ?

Patricia Arquette
Libérer: 2025-01-15 18:34:44
original
365 Les gens l'ont consulté

How Can I Aggregate Multiple Rows into a Single Row in Oracle SQL?

Consolidation de plusieurs lignes en une seule ligne dans Oracle SQL

Oracle SQL propose plusieurs méthodes pour combiner plusieurs lignes en une seule. Une approche utilise la fonction WM_CONCAT (remarque : obsolète dans Oracle 12c et versions ultérieures). WM_CONCAT concatène les valeurs de plusieurs lignes dans une colonne spécifique :

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

Pour les versions Oracle où WM_CONCAT n'est pas disponible, une fonction d'agrégation personnalisée fournit une solution viable. Des conseils détaillés sur la création d’une telle fonction pour l’agrégation de chaînes peuvent être trouvés sur des ressources telles que Oracle-base.com. Un exemple basique :

<code class="language-sql">CREATE FUNCTION String_Agg(VALUES VARCHAR2, DELIM VARCHAR2) RETURN VARCHAR2;
-- Function implementation details here</code>
Copier après la connexion

Cette fonction personnalisée permet l'agrégation de valeurs de chaîne :

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

Les fonctions d'agrégation WM_CONCAT (le cas échéant) et personnalisées consolident efficacement plusieurs lignes en une seule, présentant les données de manière plus concise et organisée.

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