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)

若不是这个意思,那么说明的你意图。
温馨提示:答案为网友推荐,仅供参考
第1个回答  2016-08-30
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);
第2个回答  推荐于2018-02-27
select *
from A,
(select max(id) id_m, 某个字段
from A
group by 某个字段) B
where A.id = B.id_m本回答被网友采纳
相似回答