首页 > 数据库 >sqlserver实现group by实现group_concat分组并拼接一个字段

sqlserver实现group by实现group_concat分组并拼接一个字段

时间:2022-10-17 15:48:12浏览次数:54  
标签:group bill sqlserver 拼接 分组 ID concat

  前言:sqlserver在实现分组拼接一个字段的实现上较mysql比较复杂一些,如果实现类似功能需要借助:for xml path('')和stuff两个方法一起使用即可

sql分组拼接示例:

SELECT TOP 1 o.ID,
STUFF((SELECT ','+CONVERT(VARCHAR(100),bill.ID) FROM dbo.TB_OrderBill bill 
    WHERE bill.OrderID=o.ID AND bill.SiteID=o.SiteID FOR XML PATH('')),1,1,'') BillIDArray
FROM dbo.TB_Order o
WHERE o.AddTime>'2021-01-01' AND o.AddTime<'2021-02-01'

效果:

备注:

  for xml path('')   :  负责将单列多个结果集拼接成一个字符串(分割符使用+号连接);

  STUFF(express,start,length,replace)负责修建拼接好的字符串,将多余字符清理掉;

标签:group,bill,sqlserver,拼接,分组,ID,concat
From: https://www.cnblogs.com/lxhbky/p/16799396.html

相关文章