Oracle 删除表中的重复行

来源:互联网 发布:sql判断字段是否相等 编辑:程序博客网 时间:2024/05/29 16:24

 基于rowid

delete from t a
where a.rowid !=
(
select max(b.rowid) from t b
where  a.col = b.col
)

    SQL> select * from t;              ID COL    ---------- --------------------------------               1 a               2 a               3 b               4 c              SQL> delete from t a where a.rowid != (select max(b.rowid) from t b where a.COL=b.COL  );      已删除 1 行。      SQL> select * from t;              ID COL    ---------- --------------------------------               2 a               3 b               4 c  

原创粉丝点击