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

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 1
    评论
concatgroup_concat都是在SQL语句中用于拼接字符串的函数。它们的使用方式有所不同。concat函数用于将多个字符串连接在一起,可以在行数据之间拼接。而group_concat函数则用于将列数据进行拼接,并自动生成逗号作为分隔符。 功能上,concatgroup_concat实现的效果是相似的,都是将多个字符串连接成一个字符串。但是group_concat函数可以一次性指定分隔符,而concat函数默认不会添加分隔符。如果需要在concat函数中添加分隔符,可以手动使用字符串函数例如concat_ws来实现。 在语法上,concat函数的用法是concat(字符串1, 字符串2, ...),而group_concat函数的用法是group_concat([distinct] 要连接的字段 [order by 排序字段 asc/desc] [separator '分隔符'])。group_concat函数中可以选择使用distinct关键字去除重复的值,并且可以指定排序字段和升降序排列。同时,也可以在group_concat函数中使用separator参数来自定义拼接的分隔符。<span class="em">1</span><span class="em">2</span><span class="em">3</span> #### 引用[.reference_title] - *1* [concatgroup_concat --Mysql](https://blog.csdn.net/Theo9/article/details/102677747)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_1"}}] [.reference_item style="max-width: 50%"] - *2* *3* [MySQL教程之concat以及group_concat的用法](https://blog.csdn.net/sfq_bluesky/article/details/122867286)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_1"}}] [.reference_item style="max-width: 50%"] [ .reference_list ]

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

余十步

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值