sql - SQL SERVER STUFF 功能场景
问题描述
在 SQL Server 中,我有一个这样的表:
Col-1 Col-2 Col-3
------------------------
A 123 25.13
A 456 67.00
A 789 81.89
我想要这样的输出:
Col-1 Col-2 Col-3
-----------------------------------
A 123,456,789 174.02
解决方案
样本数据 :
DECLARE @T TABLE(Col1 VARCHAR(1),
Col2 INT,
Col3 FLOAT)
INSERT INTO @T( Col1, Col2, Col3 )
VALUES ('A',123,25.13),('A',456,67),('A',789,81.89)
询问 :
;WITH Keys AS (SELECT Col1,
SUM(Col3) AS Col3
FROM @T
GROUP BY Col1)
SELECT Keys.Col1,
REPLACE(REPLACE(REPLACE( CONVERT (NVARCHAR(MAX),(SELECT T.Col2 AS A
FROM @T AS T
WHERE T.Col1 = Keys.Col1
FOR XML PATH(''))),'</A><A>',','),'<A>',''),'</A>','') AS Col2,
Keys.Col3
FROM Keys
结果 :
Col1 Col2 Col3
A 123,456,789 174.02
推荐阅读
- python - Python-Selenium:通过 xpath 选择对象的工作时间约为 80%,其他失败
- php - 从数据库中删除记录,它说找不到请求 URL
- python - Windows:subprocess.call ffmpeg 触发 WinError 2
- python - 如何让 Spyder 在打开现有项目时自动更改 python 解释器/环境?
- erlang - 在 Erlang 中应该如何解释 undef 错误?
- excel - 使用 VBA 获取主文件夹路径的最可靠方法是什么
- azure - 使用代码更改 edgeAgent 和 edgeHub 的“createOptions”
- javascript - 如何格式化 moment.js?
- vb.net - Page_Load 持续运行不止一次 VB.net
- vim - 如何解决 Atom 和 Vim 之间的制表符/空格问题