Heim >Datenbank >MySQL-Tutorial >Wie kann ich mithilfe der GROUP BY-Klausel von SQL mehrere Datenzeilen zu einer einzigen Zeile kombinieren?

Wie kann ich mithilfe der GROUP BY-Klausel von SQL mehrere Datenzeilen zu einer einzigen Zeile kombinieren?

Linda Hamilton
Linda HamiltonOriginal
2025-01-15 08:58:44545Durchsuche

How Can I Combine Multiple Rows of Data into a Single Row Using SQL's GROUP BY Clause?

Verwenden Sie GROUP BY, um mehrere Datenzeilen in einer Zeile zusammenzuführen

Während der Datenverarbeitung stoßen Sie möglicherweise auf Tabellen, in denen jede Zeile eine eindeutige Entität darstellt und bestimmte Spalten über diese Entitäten hinweg konsolidiert werden müssen. Dies geschieht, wenn Sie mehrere Ergebniszeilen für eine bestimmte Spalte in einer Zeile zusammenfassen müssen.

Angenommen, es gibt eine Tabelle namens „ActorsInfo“ mit zwei Spalten: „Film“ und „Schauspieler“. Jede Zeile stellt eine Kombination aus Filmen und den zugehörigen Schauspielern dar. Ihr Ziel besteht darin, diese Daten in eine neue Tabelle umzuwandeln, die eine Spalte „Film“ und eine Spalte „ActorList“ enthält, die eine durch Kommas getrennte Liste aller Schauspieler in jedem Film enthält.

Hierfür ist die GROUP BY-Klausel von SQL hilfreich. Mit GROUP BY können Sie Zeilen basierend auf den Werten einer oder mehrerer Spalten gruppieren und dann Aggregatfunktionen anwenden, um zusammenfassende Informationen innerhalb jeder Gruppe zu berechnen.

Der Schlüssel hier ist die Aggregatfunktion string_agg(). Es verkettet Werte aus angegebenen Spalten, getrennt durch ein Trennzeichen Ihrer Wahl. In diesem Fall lautet die Syntax:

<code class="language-sql">SELECT Movie, string_agg(Actor, ', ') AS ActorList
FROM ActorsInfo
GROUP BY Movie;</code>

Gruppieren Sie die Zeilen nach Filmtitel, indem Sie „Film“ sowohl in der SELECT- als auch der GROUP BY-Klausel angeben, und berechnen Sie die ActorList-Spalte, indem Sie die durch Kommas getrennten Actor-Werte verketten.

Das Ergebnis ist eine neue Tabelle, in der jede Zeile einen eindeutigen Film darstellt und die Spalte „ActorList“ die vollständige Liste aller an diesem Film beteiligten Schauspieler enthält.

Das obige ist der detaillierte Inhalt vonWie kann ich mithilfe der GROUP BY-Klausel von SQL mehrere Datenzeilen zu einer einzigen Zeile 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