首頁 > 資料庫 > mysql教程 > 如何從 MySQL 查詢結果產生逗號分隔的清單?

如何從 MySQL 查詢結果產生逗號分隔的清單?

Patricia Arquette
發布: 2025-01-17 01:57:08
原創
324 人瀏覽過

How Can I Generate Comma-Separated Lists from MySQL Query Results?

從 MySQL 資料產生逗號分隔的清單

以特定格式擷取資料(例如逗號分隔的清單)是一項常見任務。 假設您需要出版物詳細資訊和以逗號分隔的關聯網站名稱清單。使用子查詢的簡單方法可能如下所示:

<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>
登入後複製

但是,這會每行產生一個網站名稱,而不是逗號分隔的清單。

解: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>
登入後複製

此修改後的查詢使用 GROUP_CONCAT(s.name) 來組合網站名稱。 INNER JOIN 有效連結 publicationssites 表,GROUP BY p.id, p.name 確保 GROUP_CONCAT 函數正確聚合每個出版物的網站名稱。

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

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