宋子宪博客

MySql的concat和group_concat的区别

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

当前页面是本站的「Google AMP」版。查看和发表评论请点击:完整版 »