思路:记录虽然存在重复,但是rowid是唯一的,所以在子查询取得重复行中最小的rowid,删除重复行中
大于最小的rowid的行,只是保留了最小rowid的行,就是删除了重复行。
这个语句如果要调优的话,可以在内部查询中建索引。
SQL> select * from ttt;
ab |
反过来也可以,找到重复行中最大的rowid,然后删除所有比他小的
|
还有一个方案:
新建表,但是要记得重新建立索引,约束,触发器等
Table renamed |
SQL> select * from ttt;
ab |
反过来也可以,找到重复行中最大的rowid,然后删除所有比他小的
|
还有一个方案:
新建表,但是要记得重新建立索引,约束,触发器等
Table renamed |
Copyright © 2024 有想法的程序员. 自豪地采用 WordPress。 黑酷由Iceable Themes所设计。 蜀ICP备17014406号