Oracle 去重并显示所有列数据

一、原始数据(默认会生成一个 rownum 的序列,如下图的第一列)

select t.* from ZD_DIC t  where t.zdlx = '人员类型'

 

二、先分组,再给组内的内容进行排序

这里可以 partition by xxx, xxx, xxx 多个字段

select t.*, row_number() over(partition by MC order by rownum) rn from ZD_DIC t where t.zdlx = '人员类型'

 

三、选择每组重复数据的第一条

select * from (
    select t.*, row_number() over(partition by MC order by rownum) rn from ZD_DIC t where t.zdlx = '人员类型'
) where rn = 1

 

posted @ 2019-04-15 20:48  江湖小小白  阅读(2821)  评论(0编辑  收藏  举报