oracle中怎么去掉某个字段重复数据库

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了oracle中怎么去掉某个字段重复数据库相关的知识,希望对你有一定的参考价值。

假如表 tb 有 id, name 两列,想去掉name中重复的,保留id最大的数据。
delete from tb a
where id not in (select max(id) from tb b where b.name=a.name)

若不是这个意思,那么说明的你意图。
参考技术A 1、有一个函数row_number() over(partition by ID order by message)
2、例如,msg_table,根据message重复值判断是否重复:
delete from msg_table where message_id in (select message_id from (select a.message_id,row_number() over(partition by message order by message) as n from msg_table a where id=20000 ) where n > 1);
参考技术B select *
from A,
(select max(id) id_m, 某个字段
from A
group by 某个字段) B
where A.id = B.id_m

以上是关于oracle中怎么去掉某个字段重复数据库的主要内容,如果未能解决你的问题,请参考以下文章

oracle中表A中有若干完全重复的字段,怎样查询出不是重复的信息

oracle 查询所有字段,某字段重复只显示一条

在oracle中怎么查一个表中的的一个字段的重复数据

怎么查看数据库表中某个字段的值都有哪些重复记录

sql查询中如何去除某个字段重复的数据

oracle 多表多字段去重问题!