Heim > Datenbank > MySQL-Tutorial > Wie verkettet und gruppiert man mehrere Zeilen in Oracle?

Wie verkettet und gruppiert man mehrere Zeilen in Oracle?

Susan Sarandon
Freigeben: 2025-01-04 02:56:39
Original
561 Leute haben es durchsucht

How to Concatenate and Group Multiple Rows in Oracle?

Mehrere Zeilen in Oracle verketten und gruppieren

In einem Szenario, in dem Sie eine Tabelle mit mehreren Zeilen haben, die verkettet und gruppiert werden müssen, verwenden Sie der LISTAGG-Funktion in Oracle 11g bietet eine einfache Lösung:

SELECT group_name, LISTAGG(name, ', ') WITHIN GROUP (ORDER BY GROUP) AS "names"
FROM name_table
GROUP BY group_name
Nach dem Login kopieren

Die LISTAGG-Funktion aggregiert mehrere Werte aus einer Gruppe von Zeilen und trennt sie durch ein angegebenes Trennzeichen (hier „,“). Es vereinfacht den Prozess der Verkettung und Gruppierung und liefert das gewünschte Ergebnis.

Für Datenbanken vor Oracle 11g ist ein alternativer Ansatz mit Analyse verfügbar:

SELECT grp, ltrim(max(sys_connect_by_path(name, ',' )), ',') AS scbp
FROM (
    SELECT name, grp, row_number() OVER (PARTITION BY grp ORDER BY name) AS rn
    FROM tab
)
START WITH rn = 1
CONNECT BY PRIOR rn = rn - 1 AND PRIOR grp = grp
GROUP BY grp
ORDER BY grp
Nach dem Login kopieren

Diese Abfrage nutzt CONNECT BY -Klausel und die Analysefunktion row_number(), um Werte iterativ zu verketten und zu gruppieren und die gleiche Ausgabe wie die LISTAGG-Methode zu erzeugen.

Das obige ist der detaillierte Inhalt vonWie verkettet und gruppiert man mehrere Zeilen in Oracle?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Quelle:php.cn
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Neueste Artikel des Autors
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage