Трябва да можете да направите корелирана подзаявка, за да изтриете данните. Намерете всички редове, които са дублирани, и изтрийте всички, освен този с най-малкия идентификатор. За MYSQL трябва да се използва вътрешно присъединяване (функционален еквивалент на EXISTS), както следва:
delete games from games inner join
(select min(id) minid, date, time,
hometeam_id, awayteam_id, locationcity, locationstate
from games
group by date, time, hometeam_id,
awayteam_id, locationcity, locationstate
having count(1) > 1) as duplicates
on (duplicates.date = games.date
and duplicates.time = games.time
and duplicates.hometeam_id = games.hometeam_id
and duplicates.awayteam_id = games.awayteam_id
and duplicates.locationcity = games.locationcity
and duplicates.locationstate = games.locationstate
and duplicates.minid <> games.id)
За да тествате, заменете delete games from games
с select * from games
. Не стартирайте просто изтриване на вашата DB :-)