Prova qualcosa di un po' più simile a questo:
Select al.id, al.activity, al.activity_id
From activty_log
Join (Select max(aa.activity_id) as ma From activity_log aa group by aa.id) As al2
On al2.ma = al2.activity_id;
Il trucco è ottenere l'activity_id dal massimo di ciascun gruppo di record che condividono id in una sottoquery, quindi unisciti a quei risultati per ottenere le altre colonne di quel record specifico.