oracle 数据去重 ,大神们来看看

weixin_42347395 2018-07-04 03:44:41
小弟新学习oracle数据操作,遇到数据的问题,怎么都解决不了,大神来解决下:

表数据

ID 外键 书籍类型 创建时间 更新时间
1 13232221 4 2018-07-04 15:22:26 2018-07-04 15:22:26
2 13232221 4 2018-07-04 15:22:26 2018-07-04 15:22:26
3 13232221 4 2018-07-04 15:22:26 2018-07-04 15:22:26
4 13232221 1 2018-07-04 15:22:26 2018-07-04 15:22:26
5 13232221 1 2018-07-04 15:22:26 2018-07-04 15:22:26
6 13232221 1 2018-07-04 15:22:26 2018-07-04 15:22:26
7 13232221 1 2018-07-04 15:22:26 2018-07-04 15:22:26
8 13232221 1 2018-07-04 15:22:26 2018-07-04 15:22:26
9 13232221 1 2018-07-04 15:22:26 2018-07-04 15:22:26
10 13232221 1 2018-07-04 15:22:26 2018-07-04 15:22:26

去重后 显示
ID 外键 书籍类型 创建时间 更新时间
1 13232221 4 2018-07-04 15:22:26 2018-07-04 15:22:26
2 13232221 1 2018-07-04 15:22:26 2018-07-04 15:22:26

这个sql 怎么写,大神们~~~~
...全文
334 16 打赏 收藏 转发到动态 举报
写回复
用AI写文章
16 条回复
切换为时间正序
请发表友善的回复…
发表回复
yaiger 2018-07-05
  • 打赏
  • 举报
回复
有无用的重复数据,最好还是删除掉

delete from table
where rowid in (select row_id
from (select rowid as row_id,
rownumber() over(partition by 外键 书籍类型 创建时间 更新时间 order by 更新时间) as rn
from table)
where rn > 1)
weixin_42347395 2018-07-05
  • 打赏
  • 举报
回复
引用 6 楼 qq646748739 的回复:
删除重复数据的方法很多,可以参考我之前写的博客:
https://www.cnblogs.com/huangbiquan/p/8232977.html

PS: 自己动手分析和解决了问题,才能有所提高。


谢谢
weixin_42347395 2018-07-05
  • 打赏
  • 举报
回复
引用 4 楼 yaiger 的回复:
select rownum, 外键 书籍类型 创建时间 更新时间
from table
where rowid in (select row_id
from (select rowid as row_id,
rownumber() over(partition by 外键 书籍类型 创建时间 更新时间 order by 更新时间) as rn
from table)
where rn >= 1)


谢谢 我去试试
碧水幽幽泉 2018-07-05
  • 打赏
  • 举报
回复
删除重复数据的方法很多,可以参考我之前写的博客:
https://www.cnblogs.com/huangbiquan/p/8232977.html

PS: 自己动手分析和解决了问题,才能有所提高。
yaiger 2018-07-05
  • 打赏
  • 举报
回复
select rownum, 外键 书籍类型 创建时间 更新时间
from table
where rowid in (select row_id
from (select rowid as row_id,
rownumber() over(partition by 外键 书籍类型 创建时间 更新时间 order by 更新时间) as rn
from table)
where rn >= 1)
yaiger 2018-07-05
  • 打赏
  • 举报
回复
3楼写错了,改的时候没仔细看
yaiger 2018-07-05
  • 打赏
  • 举报
回复
重复数据是否删除?
不删除的话
select rownum, 外键 书籍类型 创建时间 更新时间
from table
where rowid in (select 外键 书籍类型 创建时间 更新时间
from (select 外键 书籍类型 创建时间 更新时间,
rownumber() over(partition by 外键 书籍类型 创建时间 更新时间 order by 更新时间) as rn
from table)
where rn = 1)
weixin_42347395 2018-07-05
  • 打赏
  • 举报
回复
引用 14 楼 tianlang_2008 的回复:
delete from table where id not in (select min(id) from table group by 外键,书籍类型,更新时间)

weixin_42347395 2018-07-05
  • 打赏
  • 举报
回复
引用 13 楼 yaiger 的回复:
不好意思,笔误,把row_number写成了rownumber

delete from table
where rowid in (select row_id
from (select rowid as row_id,
row_number() over(partition by 外键 书籍类型 创建时间 更新时间 order by 更新时间) as rn
from table)
where rn > 1)


谢谢 ,刚学了 第三天 这么复杂的,第一次见到我试一下
tianlang_2008 2018-07-05
  • 打赏
  • 举报
回复
delete from table where id not in (select min(id) from table group by 外键,书籍类型,更新时间)
yaiger 2018-07-05
  • 打赏
  • 举报
回复
不好意思,笔误,把row_number写成了rownumber

delete from table
where rowid in (select row_id
from (select rowid as row_id,
row_number() over(partition by 外键 书籍类型 创建时间 更新时间 order by 更新时间) as rn
from table)
where rn > 1)

weixin_42347395 2018-07-05
  • 打赏
  • 举报
回复
引用 11 楼 weixin_42347395 的回复:
[quote=引用 9 楼 yaiger 的回复:]
有无用的重复数据,最好还是删除掉

delete from table
where rowid in (select row_id
from (select rowid as row_id,
rownumber() over(partition by 外键 书籍类型 创建时间 更新时间 order by 更新时间) as rn
from table)
where rn > 1)

这个不对 亲 ,[/quote]

方便时,加我下微信吧 多谢 我微信好
suiyueruju
weixin_42347395 2018-07-05
  • 打赏
  • 举报
回复
引用 9 楼 yaiger 的回复:
有无用的重复数据,最好还是删除掉

delete from table
where rowid in (select row_id
from (select rowid as row_id,
rownumber() over(partition by 外键 书籍类型 创建时间 更新时间 order by 更新时间) as rn
from table)
where rn > 1)

这个不对 亲 ,
weixin_42347395 2018-07-05
  • 打赏
  • 举报
回复
引用 9 楼 yaiger 的回复:
有无用的重复数据,最好还是删除掉

delete from table
where rowid in (select row_id
from (select rowid as row_id,
rownumber() over(partition by 外键 书籍类型 创建时间 更新时间 order by 更新时间) as rn
from table)
where rn > 1)


谢谢,刚才验证了 楼上写的 报 ‘值过多’ ,大神方便加我个微信吗 ?
weixin_42347395 2018-07-04
  • 打赏
  • 举报
回复
在线等1

17,078

社区成员

发帖
与我相关
我的任务
社区描述
Oracle开发相关技术讨论
社区管理员
  • 开发
  • Lucifer三思而后行
  • 卖水果的net
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧