首頁 > 資料庫 > mysql教程 > 如何連接資料庫中每部電影的演員姓名?

如何連接資料庫中每部電影的演員姓名?

Mary-Kate Olsen
發布: 2025-01-15 08:32:44
原創
569 人瀏覽過

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

將單一列的多個結果行連接起來,並按另一列分組

在一個資料庫表中,列名例如“電影”和“演員”,您可能需要將屬於同一電影的多個演員行組合成單個逗號分隔的字串。

<code>表:

| 电影 | 演员 |
|---|---|
| A | 1 |
| A | 2 |
| A | 3 |
| B | 4 |</code>
登入後複製

預期結果:

<code>| 电影 | 演员列表 |
|---|---|
| A | 1, 2, 3 |
| B | 4 |</code>
登入後複製

使用 string_agg() 函數的解:

為此,您可以利用 string_agg() 聚合函數。以下是查詢:

<code>SELECT 电影, string_agg(演员, ', ') AS 演员列表
FROM 表
GROUP BY 电影;</code>
登入後複製

string_agg() 函數連接「演員」欄位中的值,用逗號和空格分隔它們。 GROUP BY 電影子句確保結果按電影名稱分組。

其他注意事項:

  1. GROUP BY 1 中的 1 是第一列的索引引用,在本例中為「電影」。
  2. string_agg() 期望文字資料類型作為輸入。如果您的「演員」列具有其他類型(例如,整數),您可能需要將其明確轉換為文本,例如 string_agg(演員::text, ', ')。
  3. 您可以在 string_agg() 函數中使用 ORDER BY 子句來排序連接的值(例如,ORDER BY 演員)。

此方法提供了一種簡單有效的方法來連接特定列的多個行,並按另一列分組。

以上是如何連接資料庫中每部電影的演員姓名?的詳細內容。更多資訊請關注PHP中文網其他相關文章!

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