首頁 > 資料庫 > mysql教程 > 如何取得 MySQL 查詢結果中以逗號分隔的值清單?

如何取得 MySQL 查詢結果中以逗號分隔的值清單?

Linda Hamilton
發布: 2025-01-17 02:10:09
原創
503 人瀏覽過

How Can I Get a Comma-Separated List of Values in MySQL Query Results?

在 MySQL 查詢結果中產生逗號分隔的清單

許多資料庫使用者需要在 MySQL 查詢中使用逗號分隔的清單。雖然 MySQL 不直接支援這一點,但 GROUP_CONCAT 函數提供了一個簡單的解決方案。

問題

想像一個檢索出版品資料和關聯站點名稱的查詢:

<code class="language-sql">SELECT p.id, p.name, 
       (SELECT name 
          FROM sites s 
         WHERE s.id = p.site_id) AS site_list
  FROM publications p;</code>
登入後複製

這將傳回一個「site_list」列,每個出版品僅包含一個網站名稱。 我們需要一個以逗號分隔的清單。

解:GROUP_CONCAT

GROUP_CONCAT 函數連接列中的值。 這是改進的查詢:

<code class="language-sql">SELECT p.id, p.name, GROUP_CONCAT(s.name) AS site_list
FROM sites s
INNER JOIN publications p ON s.id = p.site_id
GROUP BY p.id, p.name;</code>
登入後複製

這使用 INNER JOIN 連結「網站」和「出版品」表,確保正確的網站-出版物關聯。 GROUP_CONCAT(s.name) 連結網站名稱,GROUP BY p.id, p.name 依出版品 ID 和名稱將結果分組,在「site_list」欄位中建立所需的逗號分隔清單。 這有效地提供了所需的輸出。

以上是如何取得 MySQL 查詢結果中以逗號分隔的值清單?的詳細內容。更多資訊請關注PHP中文網其他相關文章!

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