首頁 > 資料庫 > mysql教程 > 如何在 SQL 中將每個影片的多個演員姓名合併到一個欄位中?

如何在 SQL 中將每個影片的多個演員姓名合併到一個欄位中?

Mary-Kate Olsen
發布: 2025-01-15 08:40:47
原創
272 人瀏覽過

How Can I Combine Multiple Actor Names into a Single Column per Movie in SQL?

在 SQL 中將每部電影的多個演員姓名合併到一個欄位中

使用電影資料庫通常需要匯總每部電影的演員資訊。 這涉及將與單一影片關聯的多個演員姓名合併到單一列條目中。

SQL 解決方案

PostgreSQL 提供了 string_agg() 函數,非常適合此任務。 這是示範其用法的查詢:

<code class="language-sql">SELECT
    movie,
    string_agg(actor, ', ') AS actors
FROM
    tbl
GROUP BY
    movie;</code>
登入後複製

此查詢:

  • movie:指定儲存電影標題的欄位。
  • actor:指定列出演員姓名的欄位。
  • string_agg(actor, ', '):此函數連接每部電影的演員姓名,並以逗號和空格分隔。
  • GROUP BY movie:將結果分組,確保每部電影一行。

詳細說明

string_agg() 函數擅長將多行組合成單一字串值。 在這裡,它為每部電影創建一個以逗號分隔的演員清單。

對於排序的演員列表,請在 ORDER BY 中包含 string_agg() 子句:

<code class="language-sql">string_agg(actor, ', ' ORDER BY actor) AS actors</code>
登入後複製

但是,子查詢通常可以提供更好的排序效能。

string_agg()的優點

  • 透過將多行聚合為單一值來簡化資料處理。
  • 透過將每部電影的相關演員數據分組來改善數據呈現。

以上是如何在 SQL 中將每個影片的多個演員姓名合併到一個欄位中?的詳細內容。更多資訊請關注PHP中文網其他相關文章!

來源:php.cn
本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
作者最新文章
熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板