oracle借助rowid选择或删除重复行
有表:create table t_test1( id number, name varchar2(50), age number, birthday date);1、选择出重复的行select a.* from t_test1 a where rowid <> (select max(rowid) from t_test1 b where a.id = b.id -- where语句后面的条件是你定义重复的规则 and a.name = b.name and a.age = b.age and a.birthday = b.birthday);2、删除重复的行delete from t_test1 a where rowid <> (select max(rowid) from t_test1 b where a.id = b.id and a.name = b.name and a.age = b.age and a.birthday = b.birthday);