Heim >Datenbank >MySQL-Tutorial >Wie kann ich in Oracle SQL mehrere Zeilen zu einer einzigen Zeile zusammenfassen?

Wie kann ich in Oracle SQL mehrere Zeilen zu einer einzigen Zeile zusammenfassen?

Patricia Arquette
Patricia ArquetteOriginal
2025-01-15 18:34:44367Durchsuche

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

Konsolidieren mehrerer Zeilen zu einer einzigen Zeile in Oracle SQL

Oracle SQL bietet mehrere Methoden zum Kombinieren mehrerer Zeilen zu einer einzigen Zeile. Ein Ansatz verwendet die Funktion WM_CONCAT (Hinweis: in Oracle 12c und höher veraltet). WM_CONCAT verkettet Werte aus mehreren Zeilen innerhalb einer bestimmten Spalte:

<code class="language-sql">SELECT field1, WM_CONCAT(field2) FROM YourTable GROUP BY field1;</code>

Für Oracle-Versionen, in denen WM_CONCAT nicht verfügbar ist, bietet eine benutzerdefinierte Aggregatfunktion eine praktikable Lösung. Detaillierte Anleitungen zum Erstellen einer solchen Funktion für die String-Aggregation finden Sie auf Ressourcen wie Oracle-base.com. Ein einfaches Beispiel:

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

Diese benutzerdefinierte Funktion ermöglicht die Aggregation von Zeichenfolgenwerten:

<code class="language-sql">SELECT field1, String_Agg(field2, ',') FROM YourTable GROUP BY field1;</code>

Sowohl WM_CONCAT (sofern zutreffend) als auch benutzerdefinierte Aggregatfunktionen konsolidieren mehrere Zeilen effektiv in einer einzigen Zeile und präsentieren Daten prägnanter und organisierter.

Das obige ist der detaillierte Inhalt vonWie kann ich in Oracle SQL mehrere Zeilen zu einer einzigen Zeile zusammenfassen?. 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