1、concatgroup_concat都是用在sql语句中做拼接使用的,但是两者使用的方式不尽相同,
concat是针对一行数据多个字段拼接,而group_concat是针对多行数据拼接,且group_concat自动生成逗号。
concat示例Sql,把rule_id 和module_id拼接起来,中间用-隔开

select concat(rule_id,'-',module_id)  from t_engine_module_rule_relation where module_id = 1

012022-07-27_14-48-36.png

group_concatconcat示例Sql,把多行数据拼接起来,group_concatconcat自带,号隔开
不适用group_concatconcat效果是这样的

select module_id  from t_engine_module_rule_relation

12022-07-27_14-45-24.png
使用group_concatconcat效果

select group_concat(module_id)  from t_engine_module_rule_relation

22022-07-27_14-46-08.png

concat和group_concat组合使用

select GROUP_CONCAT(DISTINCT CONCAT(c.company_name, '-', d.dept_name) SEPARATOR ',') AS company_dept_names
from sys_company c
         left join sys_dept d on c.company_id = d.company_id

20230329144104.png

Last modification:March 29, 2023
如果觉得这篇技术文章对你有用,请随意赞赏