0
点赞
收藏
分享

微信扫一扫

Oracle 查询重复数据,删除重复数据多字段

求阙者 2023-10-09 阅读 35

select a.F_AIRPROT, a.F_THREECODE, a.F_CAPACITY, a.F_AIRPORT_LEVEL
  from T_AIRPORT_LEVEL a
 where (a.F_AIRPROT, a.F_THREECODE/* , a.F_CAPACITY, a.F_AIRPORT_LEVEL*/) in
       (select L.F_AIRPROT , L.F_THREECODE/*, L.F_CAPACITY , L.F_AIRPORT_LEVEL*/
          from T_AIRPORT_LEVEL L
         group by L.F_AIRPROT,
                  L.F_THREECODE,
                  L.F_CAPACITY,
                  L.F_AIRPORT_LEVEL
        having count(*) > 1)
 
 
 
delete from T_AIRPORT_LEVEL a
 where (a.F_AIRPROT, a.F_THREECODE) in
       (select L.F_AIRPROT, L.F_THREECODE
          from T_AIRPORT_LEVEL L
         group by L.F_AIRPROT,
                  L.F_THREECODE,
                  L.F_CAPACITY,
                  L.F_AIRPORT_LEVEL
        having count(*) > 1)
   and rowid not in (select min(rowid)
                       from T_AIRPORT_LEVEL LL
                      group by LL.F_AIRPROT,
                               LL.F_THREECODE,
                               LL.F_CAPACITY,
                               LL.F_AIRPORT_LEVEL
                     having count(*) > 1)

举报

相关推荐

0 条评论