1 使用rowid
使用rowid,rowid是Oracle中每一行的唯一标识符,可以使用以下语句来删除重复数据,保留一条:
delete from your_table where rowid not in (select min(rowid) from your_table group by duplicate_columns); --其中,your_table是表名,duplicate_columns是用于判断重复数据的列。
2 使用row_number()函数
使用row_number()函数,row_number()函数可以为每一行分配一个唯一的序号,可以使用以下语句来删除重复数据,保留一条:
delete from your_table where rowid in (select rid from (select rowid as rid, row_number() over(partition by duplicate_columns order by rowid) as rn from your_table) where rn > 1); --其中,your_table是表名,duplicate_columns是用于判断重复数据的列。
注:以上方法适用于删除表中的重复数据,保留一条。如果需要保留多条重复数据,可以根据具体需求进行调整。
原文链接:https://blog.csdn.net/qq_24330181/article/details/131590306
标签:重复,number,数据表,rowid,Oracle,table,your,row From: https://www.cnblogs.com/daytoy105/p/18136735