Isso deve fazer o que você quer.
select animal, max(check_date) as max_date, count(*) as count
from mammals
group by animal
order by count(*) desc
LIMIT 10;
Esta é a minha saída da consulta acima com base em seus dados de exemplo.
Monkey | 2017-05-09 13:29:39.000 | 5
Giraffe | 2017-05-09 09:25:07.000 | 4
Gazelle | 2017-05-09 14:52:57.000 | 3
Lion | 2017-05-09 09:28:35.000 | 2