There is no "first" in SQL as the order of select is generally undefined, so the following will keep entries with the minimum value of Pro_id
for duplicated names, but you are free to define a different aggregator:
DELETE FROM tablename
WHERE Pro_id NOT IN (SELECT MIN(Pro_id) FROM tablename GROUP BY name);