表tbl有字段A,BA B
----------
a1 b1
a1 b2
a2 b3
a3 b4
a4 b5
a4 b6
a5 b10从上面数据可以看到A对应B时,B中会有不同的对应值,我想如果有不同对应值任意取一行就可以了,需要得到类似这样的结果:
A B
----------
a1 b1
a2 b3
a3 b4
a4 b5
a5 b10请问这怎么做啊?
----------
a1 b1
a1 b2
a2 b3
a3 b4
a4 b5
a4 b6
a5 b10从上面数据可以看到A对应B时,B中会有不同的对应值,我想如果有不同对应值任意取一行就可以了,需要得到类似这样的结果:
A B
----------
a1 b1
a2 b3
a3 b4
a4 b5
a5 b10请问这怎么做啊?
with t as
(select 'a1' as A,'b1' as B from dual UNION ALL
select 'a1', 'b2' from dual UNION ALL
select 'a2', 'b3' from dual UNION ALL
select 'a3', 'b4' from dual UNION ALL
select 'a4', 'b5' from dual UNION ALL
select 'a4', 'b6' from dual UNION ALL
select 'a5', 'b10' from dual
)
select * from (select t.*,row_number()over(partition by A order by A )rn from t)where rn=1