Heim >Datenbank >MySQL-Tutorial >Wie können LISTAGG oder WM_CONCAT mehrere Datenbankzeilen in einer einzigen durch Kommas getrennten Liste kombinieren?

Wie können LISTAGG oder WM_CONCAT mehrere Datenbankzeilen in einer einzigen durch Kommas getrennten Liste kombinieren?

Barbara Streisand
Barbara StreisandOriginal
2025-01-19 18:02:09350Durchsuche

How Can LISTAGG or WM_CONCAT Combine Multiple Database Rows into a Single Comma-Separated List?

Zusammenfassen mehrerer Datenbankzeilen in einer einzigen durch Kommas getrennten Zeichenfolge

Datenbankaufgaben erfordern oft die Konsolidierung mehrerer Zeilen in einer einzigen, durch Kommas getrennten Liste. Oracle-Datenbanken bieten hierfür effiziente Lösungen mit den Funktionen LISTAGG oder WM_CONCAT. Während WM_CONCAT veraltet ist, bietet LISTAGG (verfügbar ab Oracle 11.2) überlegene Flexibilität und ist der empfohlene Ansatz. Beide Funktionen erzielen das gleiche Grundergebnis: das Kombinieren von Zeilen zu einer durch Trennzeichen getrennten Zeichenfolge.

Stellen Sie sich eine Abfrage zum Abrufen von Ländernamen vor:

<code class="language-sql">SELECT * FROM countries;</code>

Um eine durch Kommas getrennte Liste dieser Namen zu erstellen, verwenden Sie LISTAGG:

<code class="language-sql">SELECT LISTAGG(country_name, ', ') WITHIN GROUP (ORDER BY country_name)
FROM countries;</code>

Dies gibt eine einzelne Zeile zurück, die alle Ländernamen enthält, sauber durch Kommas getrennt und alphabetisch geordnet.

Für Datenbanken, die das veraltete WM_CONCAT unterstützen, wäre das Äquivalent:

<code class="language-sql">SELECT WM_CONCAT(country_name)
FROM countries;</code>

Während beide eine ähnliche Leistung erbringen, LISTAGG bietet sie Vorteile. Es ermöglicht die Anpassung des Trennzeichens und bietet Kontrolle über die Reihenfolge der aggregierten Werte. Detaillierte LISTAGG Funktionsparameter

finden Sie in Ihrer Datenbankdokumentation

Das obige ist der detaillierte Inhalt vonWie können LISTAGG oder WM_CONCAT mehrere Datenbankzeilen in einer einzigen durch Kommas getrennten Liste kombinieren?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
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