mssql

推荐列表 站点导航

当前位置:首页 > 数据库 > mssql >

Sql Server:多行合并成一行,并做分组统计的两个方法

来源:网络整理  作者:网络  发布时间:2020-12-12 08:59
Sql Server:多行合并成一行,并做分组统计的两个方法,需要的朋友可以参考一下...
)


--将多行合并成一行,并做分组统计
--001 aa,bb 3
''),[count]
GROUP BY code
FROM test t1


,

--方法二
FROM (SELECT code,sum([count]) as [count]

SELECT code, data=STUFF((SELECT ','+[values] FROM test t WHERE code=t1.code FOR XML PATH('')), 1, 1, ''),sum([count]) as [count]
drop table test
CREATE TABLE test(code varchar(50), [values] varchar(10),[count] int)

复制代码 代码如下:

UNION ALL SELECT '001', 'bb',2
FOR XML PATH(''), ROOT('R'), TYPE
FROM test
UNION ALL SELECT '002', 'ccc',3;
INSERT test SELECT '001', 'aa',1
stuff(b.[values].value('/R[1]', 'nvarchar(max)'),



,
UNION ALL SELECT '002', 'aaa',4

---SQL2005中的新解法 使用XML

--查询结果
SELECT N',' + [values] FROM test
GROUP BY code) a


SELECT [values] =(
--创建 test 表 ,插入数据
[values] =
UNION ALL SELECT '002', 'bbb',5

--方法一
WHERE code = a.code



) b;

--002 aaa,bbb,ccc 12
CROSS apply (
SELECT code,

相关热词: 方法

本站内容来源于网络,如有侵权请与我们联系,我们会及时删除,我们深感抱歉!
注:本站所有信息仅供用于网络技术学习参考,学习中请遵循相关法律法规!

本文地址: https://www.juheyunku.com/sql/mssql/2874.shtml

最新文章
sql server 关于设置null的一 sql server 关于设置null的一

时间:2020-12-28

详解SQL游标的用法 详解SQL游标的用法

时间:2020-12-27

vs code连接sql server数据库步 vs code连接sql server数据库步

时间:2020-12-27

图书管理系统的sqlserver数 图书管理系统的sqlserver数

时间:2020-12-25

详解SQL 通配符 详解SQL 通配符

时间:2020-12-25

sql四大排名函数之ROW_NUM sql四大排名函数之ROW_NUM

时间:2020-12-25

SQLServer数据库处于恢复挂 SQLServer数据库处于恢复挂

时间:2020-12-24

Win10 64位安装个人版SQL20 Win10 64位安装个人版SQL20

时间:2020-12-24

Copyright © www.juheyunku.com      关于 | 合作 | 声明 | 联系 | 更新 | 地图 | Tags

Sql Server:多行合并成一行,并做分组统计的两个方法

2020-12-12 编辑:网络

)


--将多行合并成一行,并做分组统计
--001 aa,bb 3
''),[count]
GROUP BY code
FROM test t1


,

--方法二
FROM (SELECT code,sum([count]) as [count]

SELECT code, data=STUFF((SELECT ','+[values] FROM test t WHERE code=t1.code FOR XML PATH('')), 1, 1, ''),sum([count]) as [count]
drop table test
CREATE TABLE test(code varchar(50), [values] varchar(10),[count] int)

复制代码 代码如下:

UNION ALL SELECT '001', 'bb',2
FOR XML PATH(''), ROOT('R'), TYPE
FROM test
UNION ALL SELECT '002', 'ccc',3;
INSERT test SELECT '001', 'aa',1
stuff(b.[values].value('/R[1]', 'nvarchar(max)'),



,
UNION ALL SELECT '002', 'aaa',4

---SQL2005中的新解法 使用XML

--查询结果
SELECT N',' + [values] FROM test
GROUP BY code) a


SELECT [values] =(
--创建 test 表 ,插入数据
[values] =
UNION ALL SELECT '002', 'bbb',5

--方法一
WHERE code = a.code



) b;

--002 aaa,bbb,ccc 12
CROSS apply (
SELECT code,

本站内容来源于网络,如有侵权请与我们联系,我们会及时删除,我们深感抱歉!
注:本站所有信息仅供学习参考!
本文地址为 https://www.juheyunku.com/sql/mssql/2874.shtml

相关文章

风云图片

推荐阅读

返回mssql频道首页