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