Oracle数据库的SQL语句

2025-01-04 07:22:37
推荐回答(3个)
回答1:

oracle利用伪列rowid删除重复记录:
delete from TableA a
where rowid !=(select max(rowid) from TableA b
where a.id=b.id and a.ca=b.ca and a.cb=b.cb)
查询重复记录:
select * from TableA a
where rowid !=(select max(rowid) from TableA b
where a.id=b.id and a.ca=b.ca and a.cb=b.cb)

回答2:

请说明删除的策略,是只要重复了就删除这种数据,比如删除所有的A1 B1,还是重复的只保留一条。

回答3:

oracle中删除重复记录最好使用rowid
具体方法你可以参考一下