The easiest way is to just select the data into a temp table with a distinct, then just put it back in.
select distinct into newtable from oldtable;
delete from oldtable;
insert into oldtable (select from newtable);
That last line might have a unique mysql syntax, but it might support that kind of "subselect". ( in this case, the subselect is more of a language construct than a true subselect, so that's why I think it might well already be implemented in mysql, it's probably an easy case to program.)