Това всъщност не е вярно. Ще върне произволен ред. На практика това често е първият ред в реда на първичен ключ, но няма гаранция. Бази данни, различни от MySQL, не позволяват тази практика и ще предизвикат грешка.
Както и да е, един от начините за извличане на най-високия идентификатор на непрочетени съобщения е като се присъедините към таблицата със съобщения два пъти. Второто присъединяване търси само непрочетени съобщения. Например:
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