第2个回答 推荐于2017-10-04
create table zhidao1021_tab1
(dt date,col1 number,col2 number,col3 number);
insert into zhidao1021_tab1
select to_date('20131010','yyyymmdd'),1,2,3 from dual
union all
select to_date('20131011','yyyymmdd'),1,2,3 from dual
union all
select to_date('20131011','yyyymmdd'),1,3,3 from dual
union all
select to_date('20131011','yyyymmdd'),1,4,3 from dual;
commit;
select * from zhidao1021_tab1;
--语句:
delete from zhidao1021_tab1 where (col1,col2,col3) in (select col1,col2,col3
from zhidao1021_tab1 group by col1,col2,col3 having(count(1))>1)
and dt in (select max(dt) from zhidao1021_tab1 group by col1,col2,col3);
select * from zhidao1021_tab1;本回答被提问者采纳