본문 바로가기
프로그래머스/코딩테스트 연습

SQL lv3 오랜 기간 보호한 동물(2)

by 포잉띠 2024. 4. 22.

 

 

 

 

 

 

 

 

 

with dd as (
SELECT i.ANIMAL_ID as ANIMAL_ID, DATEDIFF(o.DATETIME, i.DATETIME) as dd
FROM ANIMAL_INS i
JOIN ANIMAL_OUTS o on i.ANIMAL_ID = o.ANIMAL_ID
)
SELECT i.ANIMAL_ID, i.NAME
FROM ANIMAL_INS i
join dd on i.ANIMAL_ID = dd.ANIMAL_ID
ORDER BY dd.dd desc
limit 2

 

 

 

조회 시 ID와 NAME만 출력하기 위해

with 절 사용하여 key인 animal_id 컬럼과 DATEDIFF 사용한 컬럼으로 dd를 만들었다.

이후 id와 이름만 조회하고 with절과 join 하여 내림차순 정렬 후, 2개만 출력하기 위해 limit 2 사용했다.

with절 없이 풀 수 있을 것 같은데 방법이 떠오르지 않아 with절 사용하여 해결했다.