У кого-нибудь есть изящная инструкция sql для удаления дубликатов записей из таблицы, но только в том случае, если имеется больше, чем x количество дубликатов? Таким образом, это позволяет до 2 или 3 дубликатов, но так оно и есть?SQL Query - Удалить дубликаты, если более трех дубликатов?
В настоящее время у меня есть оператор выбора, который делает следующее:
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
Это прекрасно работает. Но теперь то, что я хотел бы сделать, это удалить только эти строки, если у них больше двух дубликатов.
Благодаря
при наличии 5 дубликатов, вы хотите только один остались после удаления, или три? – Stobor