Ако искате да премахнете дублиран град със същия state_id (дублиращи се записи), можете да направите това, като ги групирате по град и идентификатор_на_състояние и с помощта на MIN или MAX функция:
Преди заявката за изтриване таблицата ви изглеждаше като
<предварителен код>| ID | STATE_ID | ГРАД |---------------------------------------| 1 | 1 | град_един || 2 | 1 | град_два || 3 | 1 | град_един || 4 | 1 | град_два || 5 | 2 | град_един || 6 | 3 | град_три || 7 | 3 | град_един || 8 | 3 | град_три || 9 | 4 | град_четири || 10 | 4 | град_пет |Можете да използвате следната заявка, за да премахнете дублиращи се записи:
ИЗТРИВАНЕ city_table ОТ city_table LEFT JOIN (ИЗБЕРЕТЕ MIN(id) КАТО ИДЕНТИФИКАЦИИ ОТ city_table ГРУПА ПО city,state_id )A ON city_table.ID =A.IDs WHERE A.ids IS NULL; След като приложите горната заявка, вашата таблица ще изглежда така:
<предварителен код>| ID | STATE_ID | ГРАД |---------------------------------------| 1 | 1 | град_един || 2 | 1 | град_два || 5 | 2 | град_един || 6 | 3 | град_три || 7 | 3 | град_един || 9 | 4 | град_четири || 10 | 4 | град_пет |Вижте този SQLFiddle
За повече вижте ИЗТРИВАНЕ Синтаксис на MySQL.