合并两列然后组合
问题描述:
我有以下表和数据,我想合并一列中的loc1和loc2,并删除loc列中的重复值,然后根据group_no列对其进行分组。合并两列然后组合
drop table test;
create table test (loc1 number(9), loc2 number(9), group_no number(9));
insert into test values(2,3,1);
insert into test values(2,9,1);
insert into test values(4,3,1);
insert into test values(6,8,2);
insert into test values(11,7,2);
insert into test values(20,15,2);
insert into test values(15,14,2);
insert into test values(21,31,3);
insert into test values(31,32,3);
预期的结果是:
loc group_no
2 1
3 1
9 1
4 1
6 2
8 2
11 2
20 2
15 2
21 3
31 3
32 3
问候
答
根据您所需要的结果,您可以通过loc
而不是group_no
想组。
select t.loc, max(t.group_no)
(
select loc1 as loc, group_no from test
union
select loc2 as loc, group_no from test
) t
group by t.loc
order by 2,1
+0
但是group by不是升序 – user1873093
+0
只是添加'order by' –
您能展示预期的结果吗? –