Удаление дублирующихся строк с помощью sql

Я пытаюсь удалить повторяющиеся строки из моей таблицы MySQL. Я пробовал несколько запросов, но продолжаю получать эту ошибку: # 1093 - Вы не можете указать целевую таблицу «usa_city» для обновления в предложении FROM

Таблица выглядит так:

usa_city
--------
id(pk)
id_state
city_name

И вопросы, которые я устал, были:

DELETE FROM usa_city
WHERE id NOT IN
(
SELECT MIN(id)
FROM usa_city
GROUP BY city_name, id_state
)

А также:

DELETE
FROM usa_city
WHERE usa_city.id IN

-- List 1 - all rows that have duplicates
(SELECT F.id
FROM usa_city AS F
WHERE Exists (SELECT city_name, id_state, Count(id)
FROM usa_city
WHERE usa_city.city_name = F.city_name
   AND usa_city.id_state = F.id_state
GROUP BY usa_city.city_name, usa_city.id_state
HAVING Count(usa_city.id) > 1))
AND usa_city.id NOT IN

-- List 2 - one row from each set of duplicate
(SELECT Min(id)
FROM usa_city AS F
WHERE Exists (SELECT city_name, id_state, Count(id)
FROM usa_city
WHERE usa_city.city_name = F.city_name
   AND usa_city.id_state = F.id_state
GROUP BY usa_city.city_name, usa_city.id_state
HAVING Count(usa_city.id) > 1)
GROUP BY city_name, id_state);

Заранее спасибо.

Ответы на вопрос(5)

Ваш ответ на вопрос