Sử dụng truy vấn con, bạn có thể nhận được id
cao nhất cho mỗi tên, sau đó chọn phần còn lại của các hàng dựa trên đó:
SELECT * FROM table
WHERE id IN (
SELECT MAX(id) FROM table GROUP BY name
)
Nếu bạn muốn, hãy sử dụng MIN(id)
để nhận bản ghi đầu tiên cho từng tên thay vì tên cuối cùng.
Nó cũng có thể được thực hiện với INNER JOIN
chống lại truy vấn con. Vì mục đích này, hiệu suất phải tương tự và đôi khi bạn cần tham gia trên hai các cột từ truy vấn con.
SELECT
table.*
FROM
table
INNER JOIN (
SELECT MAX(id) AS id FROM table GROUP BY name
) maxid ON table.id = maxid.id