日期:2014-05-17  浏览次数:20856 次

问个oracle问题
怎么删除表格中的重复记录 只留下一条
导的时候 重复导了2次 所以数据重复了 怎么删除重复的 并且只剩下1条
比如导 李四 35岁
这样导了3次
库里面就3个
李四 35岁
李四 35岁
李四 35岁
这样 怎么删除重复记录 并且只剩下1条可用
求高手指点 再线等

------解决方案--------------------
SQL code
--怎么算重复,name相同就算吗?
delete from t where rowid not in(
    select rowid from t where rowid in(
        select max(rowid) from t group by name)
);

--还是name,age都相同才算?
delete from t where rowid not in(
    select rowid from t where rowid in(
        select max(rowid) from t group by name, age)
);