Запрос SQL на удаление дубликатов из таблицы по одному полю

1,00
р.
Есть таблица с дубликатами в MySQL: (по полю name)
id | name | surname -------------------- 1 | niko | surname 2 | niko | surname 3 | jane | surname 4 | jane | surname 5 | ivan | surname
Необходимо получить таблицу такого вида
id | name | surname -------------------- 1 | niko | surname 3 | jane | surname 5 | ivan | surname


Ответ
Запрос для результирующей таблицы:
SELECT min(id), name, surname FROM `table` GROUP BY name, surname
Для удаления дубликатов подойдет такой прием:
CREATE TEMPORARY TABLE `t_temp` as ( SELECT min(id) as id FROM `table` GROUP BY name, surname )
DELETE from `table` WHERE `table`.id not in ( SELECT id FROM t_temp )
Есть конечно нюансы...