Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/sql/69.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
基于给定表数据的Sql输出_Sql - Fatal编程技术网

基于给定表数据的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