½ñÌìgoogle·ÖÎöº¯Êýrow_number()µÄʱºò·¢Ïֵģ¬¾õµÃºÜºÃ£º
±ídemoÊÇÖظ´¿½±´×Ôdba_objects£¬ÓÐ88Íò×óÓÒ£¬²»Öظ´µÄÊÇ27323£¬Ã»ÓÐË÷Òý
·½·¨Ò»£ºdelete from demo a where a.rowid <> (select max(rowid) from demo b where
b.object_id=a.object_id);
ºÄʱ£º¼¸¸öСʱÒÔÉÏ
·½·¨¶þ£º delete from demo where rowid in
(select rid from
(select rowid rid,row_number() over(partition by object_id order by rowid) rn
from demo)
where rn <> 1 );
ºÄʱ£º30Ãë
·½·¨Èý£º create table demo2 as
select object_id,owner... from
(select demo.*,row_number() over(partition by object_id order by rowid) rn from demo)
where rn = 1;
truncate table demo; insert into demo select * from demo2; drop table demo2;
¹²ºÄʱ£º 10Ã룬ÊʺϴóÊý¾ÝÁ¿µÄÇé¿ö£¬²úÉú¸üÉٻعöÁ¿£»
ѧµ½ÁË·ÖÎöº¯Êýrow_number(),¶ÔÓÚobject_idºÍrowidÒ²ÓÐÁËһЩÈÏʶ¡£oracleҪѧµÄ¶«Î÷Ì«¶àÁË£¬Ê²Ã´Ê±ºòÊǸöÍ·°¡¡£ÉÏÃæµÄ·½·¨²»ÊǺÜÄÑÀí½â£¬µ«Ò²»¹Ã»ÓÐÍêÈ«Àí½â£¬Óлú»áʵ¼ÊÊÔÊÔ¡£