close
今天在彙整資料時,需要多列合併為一欄,查了一下,MySQL 可以使用 GROUP_CONCAT 函數,
例如:現有一資料表A
id | value | context |
1 | A | 產品1 |
2 | A | 產品2 |
3 | B | 產品3 |
4 | C | 產品4 |
5 | D | 產品5 |
6 | D | 產品6 |
要進行篩選,以達到下列資料表
value | context |
A | 產品1,產品2 |
B | 產品3 |
C | 產品4 |
D | 產品5,產品6 |
SELECT value, GROUP_CONCAT(context) FROM A GROUP BY value;
增加引號
value | context |
A | '產品1','產品2' |
B | '產品3' |
C | '產品4' |
D | '產品5','產品6' |
SELECT value, GROUP_CONCAT('''', context. '''') FROM A GROUP BY value;
另外需要注意的是 GROUP_CONCAT 的長度是有限制的,預設是1024,如果需增加長度,可至 my.ini 增加 group_concat_max_len = 200000
設置完成後,重新啟動,就可使用
全站熱搜
留言列表