Điều đó không thực sự đúng. Nó sẽ trả về một hàng ngẫu nhiên. Trong thực tế, đây thường là hàng đầu tiên trong thứ tự khóa chính, nhưng không có gì đảm bảo. Các cơ sở dữ liệu khác với MySQL không cho phép thực hành này và sẽ gây ra lỗi.
Dù sao, một cách để truy xuất ID cao nhất của các tin nhắn chưa đọc là tham gia bảng tin nhắn hai lần. Tham gia thứ hai chỉ tìm kiếm các tin nhắn chưa đọc. Ví dụ:
SELECT max(msg.ID) as MaxID
, messages.from
, max(unread.ID) as MaxUnreadID
, users.userName
FROM users
join messages msg
on users.ID = msg.from
and messages.to = ?
left join
messages unread
on users.ID = unread.from
and messages.to = ?
and unread.read = 0
GROUP BY
users.ID
, users.userName