oracle删除重复记录,只保留一条记录

本文讨论了一种使用ROWID进行数据筛选并实现特定记录删除的SQL方法。该方法首先确定要保留的最小ROWID值,然后根据此值决定哪些记录应该被删除。作者还询问了是否有不通过临时表而直接删除记录的其他方式。
DELETE FROM hs a
      WHERE ROWID <> (SELECT MIN (ROWID)
                        FROM hs b
                       WHERE a.hsflid = b.hsflid AND a.flqw_id = b.flqw_id);

 先找到记录对应的ROWID的最小值,并跟据这个最小值来判断是否删除。

 

看了其它很多的方法,不过最后都脱离不了使用ROWID,不知道直接删除,不通过临时表,有没有其它的办法?!

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值