MySQL中使用group_concat()指定分隔符
group_concat() 函数的作用是将group by产生的同一个分组中的值连接起来,返回一个字符串结果;
基本语法:group_concat( [distinct] 要连接的字段 [order by 排序字段 asc/desc ] [separator '分隔符'] );
说明:可以使用distinct排除重复值;可以使用order by子句对结果中的值进行排序;
返回的字符串的默认分隔符从逗号(,
),若要改为其他分隔符,则使用SEPARATOR
子句修改分隔符,如下语句:
注意:
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;
group_concat加排序加分隔
``` select group_concat(CONCAT(bs.name, ':', bsa.jy) order by IFNULL(bd2.disp_order, 99),IFNULL(bgh2.disp_order, 99), IFNULL(bi.disp_order, 99) SEPARATOR '\t\r') from T_Item_Sickness tis INNER JOIN B_Sickness bs on bs.id = tis.sickness_id INNER JOIN B_Sickness_Advice bsa on bsa.sickness_id = tis.sickness_id left join B_Group_HD bgh2 on bgh2.id = tis.group_id left join B_Dept bd2 on bd2.id = bgh2.dept_id left join B_Item bi on bi.id = tis.item_id where tis.pa_id = '' and tis.group_id = '' ```本文来自博客园,作者:jevan,转载请注明原文链接:https://www.cnblogs.com/DoNetCShap/p/15870134.html
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 被坑几百块钱后,我竟然真的恢复了删除的微信聊天记录!
· 没有Manus邀请码?试试免邀请码的MGX或者开源的OpenManus吧
· 【自荐】一款简洁、开源的在线白板工具 Drawnix
· 园子的第一款AI主题卫衣上架——"HELLO! HOW CAN I ASSIST YOU TODAY
· Docker 太简单,K8s 太复杂?w7panel 让容器管理更轻松!