读书人

oracle凭借rowid选择或删除重复行

发布时间: 2012-09-10 11:02:32 作者: rapoo

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);

读书人网 >其他数据库

热点推荐