DATETIME & STR
"""
DATE_FORMAT(STR_TO_DATE(date, '%Y%m%d'),'%Y-%m-%d ')
"""
DATETIME DIFFERENCE
https://school.programmers.co.kr/learn/courses/30/lessons/59411
select t.id, t.nm
from (SELECT ins.animal_id id
,ins.name nm
,row_number() over (order by outs.datetime-ins.datetime desc) idx
from animal_ins ins
inner join animal_outs outs
on ins.animal_id = outs.animal_id) t
where t.idx <= 2
SELECT animal_id, name, date_format(datetime, "%Y-%m")
from animal_ins
order by animal_id asc
select t.name, t.datetime
from (
SELECT ins.name name
,ins.datetime datetime
,row_number() over (order by ins.datetime asc) idx
from animal_ins ins
left outer join animal_outs outs
on ins.animal_id = outs.animal_id
where outs.animal_id is null) t
where t.idx <= 3
select t.id, t.nm
from (SELECT ins.animal_id id
,ins.name nm
,row_number() over (order by outs.datetime-ins.datetime desc) idx
from animal_ins ins
inner join animal_outs outs
on ins.animal_id = outs.animal_id) t
where t.idx <= 2