梦殇国际

标题: oracle数据库删除重复数据,保留一条有效数据 [打印本页]

作者: 阿星    时间: 2015-8-29 16:18
标题: oracle数据库删除重复数据,保留一条有效数据
需求是这样的:
你有多个重复的数据,比如是两个,要删除一个,留下一个。
这个应该是oracle才能用的,因为rowid
  1. --创建测试表
  2. create table hisen(id number,name varchar2(12))
  3. --插入测试数据
  4. insert into hisen values('4','hisen4')
  5. --查看数据
  6. select * from hisen
  7. --找出重复
  8. select * from hisen a where rowid != (select max(rowid) from hisen b where a.id = b.id)
  9. --删除重复
  10. delete from hisen a where rowid !=(select max(rowid) from hisen b where a.id= b.id)
复制代码





作者: 鬼鬼    时间: 2015-8-29 16:24
并不是很能看的懂

作者: 凉    时间: 2015-8-29 16:36
阿星大大来装逼了,我完全看不懂
(, 下载次数: 7)

作者: 2540619273    时间: 2015-9-1 19:31
小白路过看看

作者: ccdust    时间: 2015-9-15 15:31
group by 分组查询出冗余元素 然后删除即可 实在不行加我q450520774

作者: 阿星    时间: 2015-9-15 18:00
ccdust 发表于 2015-9-15 15:31
group by 分组查询出冗余元素 然后删除即可 实在不行加我q450520774

然而我那代码不就是答案?





欢迎光临 梦殇国际 (https://714.hk/) Powered by Discuz! X3.4