欢迎投稿

今日深度:

oracle 全网相同数据删除(只留一条),oracle一条

oracle 全网相同数据删除(只留一条),oracle一条


DELETE 
  FROM reg_user t1 
  WHERE user_name='9527008' and rowid > ( SELECT min(rowid) 
  FROM location t2 
  WHERE t1.user_name= t2.user_name);


在Oracle中怎用一条sql语句删除重复的数据(留一条数据)

delete Emp p
where rowid in
(
select tmpid
(select ROW_NUMBER() OVER(PARTITION BY id ) id ,rowid tmpid from emp )
where id <> 1
)

可以试试
 

oracle数据库怎删除重复数据只留一个?

delete from GXS_VIEW_PATIENT_INFO where rowid not in (select min(rowid) from GXS_VIEW_PATIENT_INFO group by 某字段)
某字段就是按照某几个分组

比如数据
id name
1 a
1 a
1 a

你最后group by id或者group by name都可以
但是如果
id name
1 a
1 a
1 a
2 a
但是像上边这样,最后也只能保留一条,所以你得找到一个group by 的字段

不过这个慎用,数据多的时候会很慢的,删除前备份一下数据吧

 

www.htsjk.Com true http://www.htsjk.com/shujukunews/3055.html NewsArticle oracle 全网相同数据删除(只留一条),oracle一条 DELETE FROM reg_user t1 WHERE user_name=9527008 and rowid ( SELECT min(rowid) FROM location t2 WHERE t1.user_name= t2.user_name); 在Oracle中怎用一条sql语句删除重复的数...
评论暂时关闭