SELECT animal_id, name
FROM
(
SELECT o.animal_id, o.name,
TRUNC(TO_DATE(o.datetime) - TO_DATE(i.datetime)) period,
i.datetime, o.datetime
FROM animal_outs o INNER JOIN animal_ins i
ON o.animal_id = i.animal_id
ORDER BY period DESC
)
WHERE ROWNUM IN (1,2);