У меня есть таблица, структурированная как:
id | foodid | ingredientid
Я хочу создать уникальный индекс следующим образом:
create unique index foodingredient_foodid_ingredientid_uindex
on foodingredient (foodid, ingredientid);
Проблема в том, что таблица содержит много дубликатов foodid и ингридиентовзаписей.Они не нужны, и я хочу их удалить.
Если я запустил:
select count(*)
from foodingredient
group by foodid, ingredientid
having count(*) > 1
order by count desc
Это возвращает полмиллиона строк.Так что исправить это вручную не вариант.
Итак, я хочу удалить все дубликаты, сохранив оригинал.
Т.е.
id | foodid | ingredientid
1 | 144 | 531
2 | 144 | 531
3 | 144 | 531
4 | 144 | 531
Становится:
id | foodid | ingredientid
1 | 144 | 531
Есть ли способ сделать это с помощью запроса?