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

Wie verkettet man Schauspielernamen für jeden Film in einer Datenbank?

Mary-Kate Olsen
Freigeben: 2025-01-15 08:32:44
Original
569 Leute haben es durchsucht

How to Concatenate Actor Names for Each Movie in a Database?

Verketten Sie mehrere Ergebniszeilen einer einzelnen Spalte, gruppiert nach einer anderen Spalte

In einer Datenbanktabelle mit Spaltennamen wie „Film“ und „Schauspieler“ müssen Sie möglicherweise mehrere Schauspielerzeilen, die zum selben Film gehören, in einer einzigen durch Kommas getrennten Zeichenfolge kombinieren.

<code>表:

| 电影 | 演员 |
|---|---|
| A | 1 |
| A | 2 |
| A | 3 |
| B | 4 |</code>
Nach dem Login kopieren

Erwartete Ergebnisse:

<code>| 电影 | 演员列表 |
|---|---|
| A | 1, 2, 3 |
| B | 4 |</code>
Nach dem Login kopieren

Lösung mit der Funktion string_agg():

Dazu können Sie die Aggregatfunktion string_agg() nutzen. Hier ist die Abfrage:

<code>SELECT 电影, string_agg(演员, ', ') AS 演员列表
FROM 表
GROUP BY 电影;</code>
Nach dem Login kopieren

Die Funktion string_agg() verkettet die Werte in der Spalte „Akteur“ und trennt sie durch Kommas und Leerzeichen. Die GROUP BY MOVIE-Klausel stellt sicher, dass die Ergebnisse nach Filmnamen gruppiert werden.

Weitere Hinweise:

  1. Die 1 in GROUP BY 1 ist ein Indexverweis auf die erste Spalte, in diesem Fall „Filme“.
  2. string_agg() erwartet den Datentyp Text als Eingabe. Wenn Ihre „Akteur“-Spalte einen anderen Typ hat (z. B. Ganzzahl), müssen Sie sie möglicherweise explizit in Text konvertieren, z. B. string_agg(actor::text, ', ').
  3. Sie können die ORDER BY-Klausel in der Funktion string_agg() verwenden, um verkettete Werte zu ordnen (z. B. ORDER BY-Akteure).

Diese Methode bietet eine einfache und effiziente Möglichkeit, mehrere Zeilen einer bestimmten Spalte zu verketten und nach einer anderen Spalte zu gruppieren.

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