mysql 中 group_concat()用法

 

 基本语法:group_concat([DISTINCT] 要连接的字段 [Order BY  排序字段 ASC/DESC] [Separator '分隔符'])

  初始数据:

                 

  以name分组,将money打印在一行,默认','分隔:

       select aa.`name`name , GROUP_CONCAT( money ) money from aa GROUP BY aa.`name`

    

  以name分组,将money打印在一行,用';'分隔

    select aa.`name`name , GROUP_CONCAT( money separator ';') money from aa GROUP BY aa.`name`

    

  以name分组,去掉冗余的money,用';'分隔

    select aa.`name`name , GROUP_CONCAT(DISTINCT money separator ';') money from aa GROUP BY aa.`name`

    

       参数设置与限制说明 
    1.查看服务器中设置

      mysql> show variables like '%group_concat%';
      +----------------------+-------+
      | Variable_name        | Value |
      +----------------------+-------+
      | group_concat_max_len | 1024  |
      +----------------------+-------+
      1 row in set (0.00 sec)

    以上设置的值说明当前是默认长度1KB 

    2.改变参数值 
    方法一:修改配置文件中参数,新增 group_concat_max_len = 10240 
    方法二:在会话中实现,全局或当前session中 
    SET GLOBAL group_concat_max_len=10240; 
    SET SESSION group_concat_max_len=10240;