Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/sql/87.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_Oracle - Fatal编程技术网

Sql 查询以组合其中一列的两行

Sql 查询以组合其中一列的两行,sql,oracle,Sql,Oracle,在PL/SQLDeveloper中,我想编写一个查询,为列提供合并行的值?例如,如果emp 1和emp 2的工资相同,如200,员工3、4、5的工资为1000,则1和2 emp的输出应相同。结果应显示合并两行的单个值200。对于emp 3、4和5,薪资列应仅显示单个值1000,并合并薪资列中的3行 如图所示 为了按分组和求和并显示您可以使用的值: create table vls(empid int, tval int); insert into vls(empid, tval) val

在PL/SQLDeveloper中,我想编写一个查询,为列提供合并行的值?例如,如果emp 1和emp 2的工资相同,如200,员工3、4、5的工资为1000,则1和2 emp的输出应相同。结果应显示合并两行的单个值200。对于emp 3、4和5,薪资列应仅显示单个值1000,并合并薪资列中的3行

如图所示


为了按分组和求和并显示您可以使用的值:

create table vls(empid int, tval int);
insert into vls(empid, tval)
    values (1,200),(2,200),(3,1000),(4,1000),(5,1000);
select tval as grouped_value,sum(tval) as sum_tval,avg(tval) as avg_tval
from vls
group by tval;
这可能会帮助你:请阅读并接受答案
create table vls(empid int, tval int);

insert into vls(empid, tval) values (1,200);
insert into vls(empid, tval) values (2,200);
insert into vls(empid, tval) values (3,1000);
insert into vls(empid, tval) values (4,1000);
insert into vls(empid, tval) values (5,1000);

select listagg(empid, ' ') within group (order by empid) as empids, tval
from vls
group by
 tval;