您的位置:首页 > 数据库 > Oracle

oracle单表删除重复数据

2013-11-28 16:48 232 查看
1.建立一个mytesttable表

CREATE TABLE mytesttable(

idno NUMBER(2),

val NUMBER(2)

);

2.插入测试数据

INSERT INTO mytesttable VALUES(1,2);

INSERT INTO mytesttable VALUES(2,2);

INSERT INTO mytesttable VALUES(3,1);

INSERT INTO mytesttable VALUES(4,3);

INSERT INTO mytesttable VALUES(5,6);

INSERT INTO mytesttable VALUES(6,3);

INSERT INTO mytesttable VALUES(7,7);

3.通过rowid只除去重复的数据并保留最新数据和不重复数据(这里是根据val字段的值)

DELETE FROM MYTESTTABLE MT

WHERE MT.ROWID NOT IN

(SELECT MAX(ROWID) FROM MYTESTTABLE GROUP BY VAL);


高手有高招请指教一下更好的方法,我这是抛砖引玉。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: