Sans test, je m'attendrais à ce que quelque chose comme ça fasse l'affaire (en supposant que la colonne id est nommée id)
INSERT INTO new_table
SELECT email, user_name, password
FROM old_table
INNER JOIN
( SELECT MIN(id) FROM old_table GROUP by user_name ) minids
ON minids.id = old_table.id