SQL-SERVER的STUFF函数groupby分组,字符串合并SQL SERVER 分组group by之后,字符串合并在⼀起,逗号隔开。
原本数据:
效果:
代码:
-use DB01;
-- 建表
create table dbo.tb_user_product(
id int null
,name varchar(10) null
,product varchar(100) null
,amount decimal(9,2) null
);
-- 插⼊数据
insert into dbo.tb_user_product values ('1001','⼤运','⼩⽶10⾄尊纪念版',5999);
insert into dbo.tb_user_product values ('1001','⼤运','⼤⽶10好吃版',6800);
insert into dbo.tb_user_product values ('1001','⼤运','华为30max',8999);
insert into dbo.tb_user_product values ('1001','⼩星','华为10Pro',3500);
insert into dbo.tb_user_product values ('1001','⼩星','OPPO9',2200);
insert into dbo.tb_user_product values ('1001','阿飞','三星Note20',8500);groupby是什么函数
-- 查询
select * from dbo.tb_user_product;
-- group by 字符串逗号隔开合并在⼀起
select id
,name
,sum(amount) as amount
,products = STUFF(
(select ','+product
from dbo.tb_user_product b
where a.id = b.id and a.name = b.name
for xml path(''))
,1
,1
,'')
from dbo.tb_user_product a
group by id
,name;

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。