MySql的concat和group_concat的区别

avatar
作者
猴君
阅读量:2

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

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

select module_id  from t_engine_module_rule_relation

使用group_concatconcat效果

select group_concat(module_id)  from t_engine_module_rule_relation

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

广告一刻

为您即时展示最新活动产品广告消息,让您随时掌握产品活动新动态!