Вы можете удалить их из select
, просто используя агрегацию:
select min(id), id2
from t
group by id2
having count(*) = 1;
Если вы хотите удалить их из таблицы, используйте join
и group by
:
delete t
from t join
(select id2, count(*) as cnt
from t
group by id2
) tt
on t.id2 = tt.id2
where cnt > 1;