文章摘要
这篇文章主要介绍了如何在城市分组场景下优化用户名提取的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,”)
© 版权声明
文章版权归作者所有,未经允许请勿转载。


