Heim >Datenbank >MySQL-Tutorial >Wie kann ich mithilfe der GROUP BY-Klausel von SQL mehrere Datenzeilen zu einer einzigen Zeile kombinieren?
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!