Med hjälp av en underfråga kan du få det högsta id
för varje namn och välj sedan resten av raderna baserat på det:
SELECT * FROM table
WHERE id IN (
SELECT MAX(id) FROM table GROUP BY name
)
Om du föredrar, använd MIN(id)
för att få den första posten för varje namn istället för den sista.
Det kan också göras med en INNER JOIN
mot underfrågan. För detta ändamål bör prestandan vara liknande, och ibland måste du gå med på två kolumner från underfrågan.
SELECT
table.*
FROM
table
INNER JOIN (
SELECT MAX(id) AS id FROM table GROUP BY name
) maxid ON table.id = maxid.id