MySQL中使用group_concat()指定分隔符

group_concat() 函数的作用是将group by产生的同一个分组中的值连接起来,返回一个字符串结果;

基本语法:group_concat( [distinct] 要连接的字段 [order by 排序字段 asc/desc  ] [separator '分隔符'] );

说明:可以使用distinct排除重复值;可以使用order by子句对结果中的值进行排序;

返回的字符串的默认分隔符从逗号(),若要改为其他分隔符,则使用SEPARATOR子句修改分隔符,如下语句:

select username,GROUP_CONCAT(`password` SEPARATOR '\r\n' ),GROUP_CONCAT(age SEPARATOR '|') FROM user_table  WHERE username ='zhangsan'
GROUP BY username

注意: 

如果想要把一个字段的多条数据拼接成一行,可以把 username的都设置成一样的

  mysql中group_concat函数处理字符串的长度是由限制的,默认长度为1024,如果拼接的字符串超过1024,就会在数据库里面被截取,所以不会显示所有拼接数据;

可以使用如下语句进行设置:

  设置当前session的group_concat长度,其他session连接不受影响:

SET SESSION group_concat_max_len = 102400;

  设置全局group_concat长度:

SET GLOBAL group_concat_max_len = 102400;
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值