1 功能
将group by产生的同一个分组中的值连接起来,返回一个字符串结果。
2 函数语法
group_concat( [DISTINCT] 要连接的字段 [Order BY 排序字段 ASC/DESC] [Separator ‘分隔符’] )
语法说明:通过使用distinct可以排除重复值;
如果希望对结果中的值进行排序,可以使用order by子句;separator是一个字符串值,缺省为一个逗号。
3 案例
3.1 创建数据库表
表:score(数据库是:mybatis)

3.2 查询
查询1:
查询:查询分数表(score)中的用户ID(id)和分数(score )
SELECT id,score FROM mybatis.score;
查询结果:

查询2:
查询: 以用户ID(id)分组,把分数(score)字段的值在同一行打印出来,逗号分隔(默认)
select id, group_concat(score) from mybatis.score group by id;
查询结果:

查询3:
查询:以用户ID(id)分组,把分数(score)字段的值在一行打印出来,分号分隔
SELECT id,group_concat(score separator ‘;’) FROM mybatis.score GROUP BY id;
查询结果:

查询4:
查询:以用户ID(id)分组,把去除重复冗余的分数(score)字段的值打印在一行,逗号分隔
SELECT id,group_concat(distinct score) FROM mybatis.score GROUP BY id;
查询结果:

查询5:
查询:以用户ID(id)分组,把分数(score)字段的值去重打印在一行,逗号分隔,按照score倒序排列
SELECT id,group_concat(distinct score order by score desc) FROM mybatis.score GROUP BY id;
查询结果:
