Menggunakan subquery, Anda bisa mendapatkan id
tertinggi untuk setiap nama, lalu pilih sisa baris berdasarkan itu:
SELECT * FROM table
WHERE id IN (
SELECT MAX(id) FROM table GROUP BY name
)
Jika Anda mau, gunakan MIN(id)
untuk mendapatkan catatan pertama untuk setiap nama, bukan yang terakhir.
Itu juga dapat dilakukan dengan INNER JOIN
terhadap subquery. Untuk tujuan ini, kinerjanya harus serupa, dan terkadang Anda perlu bergabung di dua kolom dari subquery.
SELECT
table.*
FROM
table
INNER JOIN (
SELECT MAX(id) AS id FROM table GROUP BY name
) maxid ON table.id = maxid.id