입양을 간 동물 중,
보호 기간이 가장 길었던 동물
두 마리의
아이디와 이름을 조회하는 SQL문을 작성해주세요.
이때 결과는 보호 기간이 긴 순으로 조회해야 합니다.
SELECT I.ANIMAL_ID, I.NAME
FROM ANIMAL_INS I JOIN ANIMAL_OUTS O ON I.ANIMAL_ID=O.ANIMAL_ID
ORDER BY DATEDIFF(O.DATETIME, I.DATETIME) DESC
LIMIT 2
ANIMAL_OUTS 테이블에 기록이 있다는 것은 입양을 갔다는 것이기 때문에 단순 JOIN으로 첫 번째 조건은 해결됐다.
보호 기간이 가장 길었던 동물을 구하기 위해서 DATEDIFF() 함수를 썼는데, 이 함수의 결과값은 "첫 번째 인자 - 두 번째 인자"이기 때문에 순서에 유의해야 한다. 이것 때문에 DESC으로 정렬했다가 보호 기간이 가장 짧은 동물부터 출력해버려서 틀렸다.
그리고 두 마리만 출력하는 것이기 때문에 LIMIT 2를 추가했다.