问题:请删除oracle表的列中重复的记录
例子如下。
image.png
表中的c1列有重复值“手动输入c1”,保存着任意一个值,可以通过oracle分析函数从“c1”组中生成号码,删除号码大于1的数据。
select rowid as rid,c1,row_number(over ) partitionbyC1orderbyC4) as seq from test_silense
image.png
如果仔细比较“c1”列和“seq”列之间的关系,则在“c1”列中具有重复值的记录会随着时间的推移添加序号,从而可以删除序号不为1的所有行记录,以获得不重复的行记录
elete from test _ silensewhererowidin (
选择rid from (
select rowid as rid,c1,row_number(over ) partitionbyC1orderbyC4) as seq from test_silense
) where seq 1
)
进行删除操作后的记录为以下:条
image.png
这是我写的例子,大家在操作数据时,请一定要备份操作的表数据