mysql group_concat 将一对多结果拼接成一行

1.问题描述:现有一对多的数据,想将多行数据拼成一行

例如:

期望:

2.解决方法:

使用mysql  的group_concat

group_concat([DISTINCT] 要连接的字段 [Order BY ASC/DESC 排序字段] [Separator '分隔符'])

原查询:

select * from national_industry_keyword

目标查询:

select t.id,t.code,t.name,GROUP_CONCAT(t.keyword) des from national_industry_keyword t GROUP BY t.name

扩展:

可以对 group_concat内的拼接元素进行去重 或 排序 或使用指定分隔符

SELECT id,GROUP_CONCAT(DISTINCT keyword) FROM national_industry_keyword GROUP BY name
SELECT id,GROUP_CONCAT( keyword ORDER BY keyword ) FROM national_industry_keyword GROUP BY name
SELECT id,GROUP_CONCAT( keyword SEPARATOR ';' ) FROM national_industry_keyword GROUP BY name

 

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值