基于给定表数据的Sql输出
嗨,我有一张如下所示的表格基于给定表数据的Sql输出,sql,Sql,嗨,我有一张如下所示的表格 Col1 Col2 A. 10 B. 20 C. 30 D. 80 E. 50 输出应该是 Col1. Col2 A,B,C,D,E. 190 也就是说,第一列值应该用逗号分隔,第二列值需要求和 请为此场景建议一个sql查询 我想你在找这个 对于sql server,使用字符串_agg代替listtagg 检查以下MS SQL解决方案 SELECT (REPLACE(STUFF
Col1 Col2
A. 10
B. 20
C. 30
D. 80
E. 50
输出应该是
Col1. Col2
A,B,C,D,E. 190
也就是说,第一列值应该用逗号分隔,第二列值需要求和
请为此场景建议一个sql查询
我想你在找这个
对于sql server,使用字符串_agg代替listtagg
检查以下MS SQL解决方案
SELECT (REPLACE(STUFF((SELECT ', ' + [Col1] FROM your_table_name FOR XML PATH('')), 1, 1, ''), '.,',',')) AS [Col1],
Sum(Col2) as col2
FROM your_table_name
您正在使用什么RDBMS?我需要Oracle和Microsoft中的查询sql@SudarshanHR,您找不到同时适用于Oracle和SQL Server的查询。LISTAGG适用于Oracle?实际上,这是正确的查询。从您的_表_名称中选择LISTAGGcol1,“,”作为员工按col1分组排序,sumcol2。如果您最后执行group by,它将对员工姓名进行分组,并提供与输入相同的输出。@jarlh,请您在MS SQL中检查,而不是在mySQL中检查。我编辑我的评论!!谢谢,它在里面工作
SELECT (REPLACE(STUFF((SELECT ', ' + [Col1] FROM your_table_name FOR XML PATH('')), 1, 1, ''), '.,',',')) AS [Col1],
Sum(Col2) as col2
FROM your_table_name