MySQL – Delete Duplicate Rows Keeping Latest


DELETE  <TABLE>
FROM    <TABLE>
INNER JOIN (
     SELECT    MAX(<PK_ID>) AS LASTID, <DUPLICATE_FIELD>
     FROM      <TABLE>
     GROUP BY  <DUPLICATE_FIELD>
     HAVING    COUNT(*) > 1) DUPLIC 
     ON        DUPLIC.<DUPLICATE_FIELD> = <TABLE>.<DUPLICATE_FIELD>
WHERE   <TABLE>.<PK_ID> < DUPLIC.LASTID;