- 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行。