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
設置完成後,重新啟動,就可使用
全站熱搜
留言列表
