加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 站长学院 > MsSql教程 > 正文

Sqlserver 中如何通过group by 实现分组合并

发布时间:2020-12-12 14:39:28 所属栏目:MsSql教程 来源:网络整理
导读:--------------------第一步:新建表:Test---------------------------- CREATE TABLE test(id varchar(50),[values] varchar(10)) INSERT test SELECT '001','aa' UNION ALL SELECT '001','bb' UNION ALL SELECT '002','aaa' ? 具体实现的方法: 方法① SE

--------------------第一步:新建表:Test----------------------------

CREATE TABLE test(id varchar(50),[values] varchar(10))

INSERT test SELECT '001','aa'

UNION ALL SELECT '001','bb'

UNION ALL SELECT '002','aaa'

?

具体实现的方法:

方法①

SELECT id,

? ? ? ?[values] =

? ? ? ?stuff(b.[values].value('/R[1]','nvarchar(max)'),宋体; font-size:14px; line-height:25px"> ? ? ? ? ? ? ?1,宋体; font-size:14px; line-height:25px"> ? ? ? ? ? ? ?'')

? FROM (SELECT ?id

? ? ? ? ? FROM test

? ? ? ? ?GROUP BY id) a

?CROSS apply (

? ? ? ? SELECT [values] =(

? ? ? ? ? ? SELECT N',' + [values] FROM test

? ? ? ? ? ? ? WHERE id = a.id

? ? ? ? ? ? ? ? ? ? ? ? ?FOR XML PATH(''),ROOT('R'),TYPE

? ? ? ? )

) b;

方法②:

FROM test t1

GROUP BY id

最后结果:

id ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? data

------------- ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ??----------------------

001 ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?aa,bb

002 ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?aaa,bbb,ccc

(2 行受影响)

不想要test的时候:drop table test

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读