您的位置:首页 > 数据库 > MySQL

mysql 函数 GROUP_CONCAT 单元格中最长字符串和excel导出问题

2016-04-14 15:00 886 查看
GROUP_CONCAT 使用方式GROUP_CONCAT ([DISTINCT] 要连接的字段 [Order BY ASC/DESC 排序字段] [Separator '分隔符'])

SELECT column1, GROUP_CONCAT(IFNULL(column2,0) , ',' ,IFNULL(column3,0), ',' ,IFNULL(column4,0) ORDER BY LENGTH(column5),column4) column_name from table_name

多列链接为一行,列和列之间用逗号分隔。每一行再链接为一个完整的结果行cluum_name,每一行默认逗号分隔。

列的内容不能为NULL,需要IFNULL转换一下,否则链接的结果为NULL

column_name默认允许的长度为1024

修改group_concat_max_len的长度,因为大于1024,GROUP_CONCAT 查出来的结果就会被截断。

SET GLOBAL group_concat_max_len=102400;//全局设置,重启sql起作用

SET SESSION group_concat_max_len=102400;//回话设置,当时就起作用

我采用第二种方式SET SESSION group_concat_max_len=102400。

查出来结果正常,但是导出excel(2003)后GROUP_CONCAT查出的结果任然被截断。

 无奈之下只能在msql查出的结果表里面复制列,然后粘贴到excel的列里面

EXCEL2003最大列数是256列(IV列)最大行数为65536行,EXCEL2007以上的版本最大列数是16384列最大行数为1048576行。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: