sql里将重复行数据合并为一行数据使用逗号进行分隔(sql查询出的结果重复的只显示一条)越早知道越好

随心笔谈9个月前发布 admin
221 00
🌐 经济型:买域名、轻量云服务器、用途:游戏 网站等 《腾讯云》特点:特价机便宜 适合初学者用 点我优惠购买
🚀 拓展型:买域名、轻量云服务器、用途:游戏 网站等 《阿里云》特点:中档服务器便宜 域名备案事多 点我优惠购买
🛡️ 稳定型:买域名、轻量云服务器、用途:游戏 网站等 《西部数码》 特点:比上两家略贵但是稳定性超好事也少 点我优惠购买

文章摘要

这篇文章主要介绍了如何在城市分组场景下优化用户名提取的SQL查询方式。文章提出了两种方法:第一种方法使用XML路径函数和STUFF函数来提取用户名,通过FOR XML PATH('')提取相关字段并进行填充;第二种方法使用LEFT函数结合substr函数来直接提取用户名。文章强调了通过不同的SQL技术实现高效的用户名提取,并为开发者提供了优化查询的参考。

select * from @T1

—–最优的方式

SELECT CityName,STUFF((SELECT ‘,’ + UserName FROM @T1 subTitle WHERE CityName=A.CityName FOR XML PATH(”)),1, 1, ”) AS A

FROM @T1 A

GROUP BY CityName

—-第二种方式

SELECT B.CityName,LEFT(UserList,LEN(UserList)-1)

FROM (

SELECT CityName,(SELECT UserName+’,’ FROM @T1 WHERE CityName=A.CityName FOR XML PATH(”)) AS UserList

FROM @T1 A

GROUP BY CityName

) B

stuff(select ‘,’ + fieldname from tablename for xml path(”)),1,1,”)

© 版权声明

相关文章