Używając podzapytania, możesz uzyskać najwyższy id
dla każdej nazwy, a następnie wybierz pozostałe wiersze na podstawie tego:
SELECT * FROM table
WHERE id IN (
SELECT MAX(id) FROM table GROUP BY name
)
Jeśli wolisz, użyj MIN(id)
aby uzyskać pierwszy rekord dla każdego nazwiska zamiast ostatniego.
Można to również zrobić za pomocą INNER JOIN
przeciwko podzapytaniu. W tym celu wydajność powinna być podobna, a czasami trzeba dołączyć do dwóch kolumny z podzapytania.
SELECT
table.*
FROM
table
INNER JOIN (
SELECT MAX(id) AS id FROM table GROUP BY name
) maxid ON table.id = maxid.id