Стандартным способом ANSI будет:
select name, personid, timestamp, eventid, event
from person
join event on event.personid=person.personid
and event.timestamp=(select max(timestamp) from event e2
where e2.personid=person.personid)
Я давно не пользовался MySQL, и у меня нет удобной установки, но вы можете получить то, что хотите:
select name, personid, timestamp, eventid, event
from person
join event on event.personid=person.personid
group by personid
order by personid, timestamp desc
Это нестандартно, потому что по стандарту все в выборе должно быть в группе или быть агрегированным, и здесь мы тоже не хотим этого делать.Но, насколько я помню, MySQL этого не требует, поэтому я бы об этом поинтересовался и посмотрел, что произойдет.