文章摘要
文章讨论了MySQL数据库中两种不同的SELECT语句方式及其优化方法。第一种方式利用STUFF函数高效处理结果集,避免了多次查询和字段拼接,特别适合处理大量数据。第二种方式使用FOR XML PATH('')语法获取结果集,并结合LEFT函数提取用户信息,但需要注意其在处理复杂场景时的效率和灵活性。文章强调了STUFF函数在提升查询性能方面的优势,同时提醒用户在具体场景中根据需求选择合适的方法。
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,”)
© 版权声明
文章版权归作者所有,未经允许请勿转载。