SQL-запрос - Удалить дубликаты, если более 3 дублирований?
У кого-нибудь есть элегантный оператор sql для удаления дубликатов записей из таблицы, но только если количество дубликатов превышает x? Таким образом, он допускает до 2 или 3 дубликатов, но это так?
В настоящее время у меня есть оператор выбора, который делает следующее:
delete table
from table t
left outer join (
select max(id) as rowid, dupcol1, dupcol2
from table
group by dupcol1, dupcol2
) as keeprows on t.id=keeprows.rowid
where keeprows.rowid is null
Это прекрасно работает. Но теперь я хотел бы удалить эти строки только в том случае, если они содержат более двух дубликатов.
Спасибо