본문 바로가기

기록/SQL

[Oracle] [프로그래머스] 오랜 기간 보호한 동물

SMALL

https://programmers.co.kr/learn/courses/30/lessons/59411

 

코딩테스트 연습 - 오랜 기간 보호한 동물(2)

ANIMAL_INS 테이블은 동물 보호소에 들어온 동물의 정보를 담은 테이블입니다. ANIMAL_INS 테이블 구조는 다음과 같으며, ANIMAL_ID, ANIMAL_TYPE, DATETIME, INTAKE_CONDITION, NAME, SEX_UPON_INTAKE는 각각 동물의 아이디

programmers.co.kr

 

1번 유형과 비슷한 문제이다.

rownum을 사용하고, 서브쿼리를 통해 결과값을 order by 처리하는 것도 같다.

다른 점이 있다면 order by의 기준이다.

"보호 기간이 긴 순서" 이므로 out.datetime - in.datetime의 역순을 기준으로 삼아야 한다.

 

-- 코드를 입력하세요
SELECT *
FROM 
    (SELECT I.ANIMAL_ID, I.NAME
     FROM ANIMAL_INS I, ANIMAL_OUTS O
     WHERE I.ANIMAL_ID = O.ANIMAL_ID
     ORDER BY O.DATETIME - I.DATETIME DESC)
WHERE ROWNUM <= 2
SMALL