SQL 将行相同数据合并,不相同数据分割合并

2 篇文章 0 订阅

SQL Server 语法 (如果要合并的数据是字符串类型的,这里是不需要做CONVERT(varchra,Course))类型转换的

SELECT Name , STUFF((SELECT distinct ',' +  CONVERT(varchar,Course) FROM T_StudentCourse B 
WHERE B.Name = A.Name FOR XML PATH('')),1, 1, '') AS Course
FROM T_StudentCourse A
GROUP BY Name

My Sql 语法

SELECT  Name , GROUP_CONCAT(distinct convert(Course, CHAR) SEPARATOR ',') AS Course
FROM T_StudentCourse A 
GROUP BY A.Name


需注意:

1.GROUP_CONCAT()中的值为你要合并的数据的字段名;

 SEPARATOR 函数是用来分隔这些要合并的数据的;

 ' '中是你要用哪个符号来分隔;

  distinct 关键字是将合并后分割重复的数据进行合并

2.必须要用GROUP BY 语句来进行分组管理,不然所有的数据都会被合并成一条记录

行合并前的数据

 

行合并后的效果(合并的Course)

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值