首頁 >資料庫 >mysql教程 >GROUP_CONCAT 如何將 MySQL 資料合併到單一欄位中?

GROUP_CONCAT 如何將 MySQL 資料合併到單一欄位中?

Barbara Streisand
Barbara Streisand原創
2024-12-18 19:28:14651瀏覽

How Can GROUP_CONCAT Consolidate MySQL Data into a Single Column?

利用GROUP_CONCAT 進行全面的資料串聯

當面臨將資料轉換為統一格式的任務時,GROUP_CONCAT 成為一個強大的工具。讓我們透過解決特定的資料操作問題來探索其功能:

目標:
將以下資料轉換為統一格式:

id Name Value
1 A 4
1 A 5
1 B 8
2 C 9

期望的輸出:

id Column
1 A:4,5,B:8
2 C:9

解:

為了實現此轉換,我們將GROUP_CONCAT 與子查詢:

select id, group_concat(`Name` separator ',') as `ColumnName`
from
(
  select id, 
  concat(`Name`, ':', group_concat(`Value` separator ',')) as Name
   from mytbl group by id, Name
) tbl
group by id;

細分:

子查詢有兩個用途:

  1. 它按id 和Name將資料分組,連接每組中的值列。這會產生一個表,其中 id 和 Name 的每個唯一組合都具有連接的值字串。
  2. 外部 GROUP_CONCAT 函數接著按 id 將結果分組,並將 Name 值連接成單一字串,以逗號。

範例:

考慮提供的資料。子查詢產生:

id Name
1 A:4,5
1 B:8
2 C:9

外部 GROUP_CONCAT 然後產生最終輸出:

id Column
1 A:4,5,B:8
2 C:9

以上是GROUP_CONCAT 如何將 MySQL 資料合併到單一欄位中?的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn