MySql的concat和group_concat的区别

2022-07-27T14:55:00

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

当前页面是本站的「Baidu MIP」版。发表评论请点击:完整版 »