Pomocí dílčího dotazu můžete získat nejvyšší id pro každý název a na základě toho vyberte zbývající řádky:
SELECT * FROM table
WHERE id IN (
SELECT MAX(id) FROM table GROUP BY name
)
Pokud chcete, použijte MIN(id) získat první záznam pro každé jméno místo posledního.
To lze také provést pomocí INNER JOIN proti poddotazu. Pro tento účel by měl být výkon podobný a někdy je potřeba se připojit na dvou sloupců z poddotazu.
SELECT
table.*
FROM
table
INNER JOIN (
SELECT MAX(id) AS id FROM table GROUP BY name
) maxid ON table.id = maxid.id