Heim > Datenbank > MySQL-Tutorial > Wie verkettet man Schauspieler für jeden Film in einer SQL-Tabelle?

Wie verkettet man Schauspieler für jeden Film in einer SQL-Tabelle?

Mary-Kate Olsen
Freigeben: 2025-01-15 06:27:43
Original
344 Leute haben es durchsucht

How to Concatenate Actors for Each Movie in a SQL Table?

Kombinieren von Schauspielernamen für jeden Film in einer SQL-Tabelle

Stellen Sie sich eine Tabelle mit den Spalten „Film“ und „Schauspieler“ vor. Die Aufgabe besteht darin, eine Liste der Filme und ihrer entsprechenden Schauspieler abzurufen, wobei alle Schauspieler für jeden Film in einer einzigen Zeichenfolge zusammengefasst werden.

Lösung mit string_agg():

Die effizienteste Methode verwendet die Funktion string_agg() (verfügbar in PostgreSQL 9.0 und höher):

<code class="language-sql">SELECT movie, string_agg(actor, ', ') AS actor_list
FROM table_name
GROUP BY movie;</code>
Nach dem Login kopieren

string_agg() verkettet durch Kommas getrennte Schauspielernamen für jeden Film. GROUP BY movie sorgt für eine Reihe pro Folie.

Alternative für ältere PostgreSQL-Versionen (vor 9.0):

Für ältere PostgreSQL-Versionen verwenden Sie array_agg() und array_to_string():

<code class="language-sql">SELECT movie, array_to_string(array_agg(actor ORDER BY actor), ', ') AS actor_list
FROM table_name
GROUP BY movie;</code>
Nach dem Login kopieren

Dadurch werden Akteure in einem Array zusammengefasst und dann in eine durch Kommas getrennte Zeichenfolge konvertiert. Die ORDER BY actor-Klausel sortiert die Schauspieler in der Liste jedes Films alphabetisch.

Anpassen der Reihenfolge der Schauspielerliste:

Um die Reihenfolge der Akteure innerhalb jeder Liste zu steuern (z. B. nach Abrechnungsreihenfolge), fügen Sie ORDER BY innerhalb von string_agg() oder array_agg() hinzu:

<code class="language-sql">SELECT movie, string_agg(actor, ', ' ORDER BY actor) AS actor_list  --Alphabetical order
FROM table_name
GROUP BY movie;</code>
Nach dem Login kopieren

Dieser Ansatz optimiert die Darstellung der Beziehungen zwischen Film und Schauspieler und erleichtert die Datenanalyse und -anzeige.

Das obige ist der detaillierte Inhalt vonWie verkettet man Schauspieler für jeden Film in einer SQL-Tabelle?. 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