Вы описываете что-то вроде этого:
Insert Into (col1, col2, col3)
select col1, col2, col3
from mytable
where t.col4 = (select max(t2.col4)
from mytable t2
where t2.col1 = t.col1 and t2.col2 = t.col2 and t2.col3 = t.col3
);
Однако это в значительной степени эквивалентно select distinct
(значения NULL
могут трактоваться по-разному). Вы, вероятно, хотите, чтобы дупсоны определялись только в одном столбце, поэтому я думаю:
insert into (col1, col2, col3)
select col1, col2, col3
from mytable
where t.col4 = (select max(t2.col4)
from mytable t2
where t2.col1 = t.col1
);