Век живи - век учись. Сколько раз приходилось делать таблицы с уникальными значениями. Делалось все топорным способом. Создавалась таблица с аналогичной структурой. На нужном поле ставился уникальный индекс и запускалось копирование - в результате получали нужную "уникальную таблицу". Так бы и делалось еще 100 лет если бы не нужно было удалить дубликаты в таблице в 80 гигабайт :(
Тут и нашлось элегантное решение - всего одна строка. Время минимальное (хотя сервер пыхтел оёёй)
ALTER IGNORE TABLE `table` ADD UNIQUE INDEX(a);
Все - этим запросом создается уникальный индекс на столбце `a`, а дубли удаляются!