oracle寫法:
select WM_CONCAT(A.列名) as citys from 表名 A
sql server寫法:
select stuff((select ','+A.列名 from 表名 A FOR xml PATH('')), 1, 1, '') as citys
mysql寫法:
1、默認的逗號分隔
select GROUP_CONCAT(A.列名) as citys from 表名 A;
2、用空格分隔
select GROUP_CONCAT(A.列名 SEPARATOR ' ') as citys from 表名 A;
問題記錄:
GROUP_CONCAT函數用於將多個字符串連接成一個字符串,在拼接成字符串時就會存在拼接長度的問題,mysql 默認的拼接最大長度爲1024 個字節,由於1024個字節會出現不夠用的情況,所以有時需要去根據情況進行修改,方式如下。
1、查看當前mysql group_concat_max_len
進入mysql狀態,輸入:show variables like 'group_concat_max_len',如果未曾修改會得到下面結果:
2、修改mysql group_concat_max_len
進入到指定文件夾下,修改my.ini文件,注意這個ProgramData是個隱藏的文件,注意不是Program Files文件夾。
在[mysqld]下新增配置:group_concat_max_len = 4294967295
重啓下mysql服務,然後重新查看當前狀態即可:
輸入:show variables like 'group_concat_max_len';