Usando una subconsulta, puede obtener el id
más alto para cada nombre, luego seleccione el resto de las filas según eso:
SELECT * FROM table
WHERE id IN (
SELECT MAX(id) FROM table GROUP BY name
)
Si lo prefiere, use MIN(id)
para obtener el primer registro de cada nombre en lugar del último.
También se puede hacer con un INNER JOIN
contra la subconsulta. Para este propósito, el rendimiento debe ser similar y, a veces, debe unirse en dos columnas de la subconsulta.
SELECT
table.*
FROM
table
INNER JOIN (
SELECT MAX(id) AS id FROM table GROUP BY name
) maxid ON table.id = maxid.id