노아

[프로그래머스] 오랜 기간 보호한 동물(2) 본문

알고리즘/SQL

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

Noaahhh 2024. 9. 16. 17:35

 

Question

 

입양을 간 동물 중, 보호 기간이 가장 길었던 동물 두 마리의 아이디와 이름을 조회하는 SQL문을 작성해주세요. 이때 결과는 보호 기간이 긴 순으로 조회해야 합니다.

 

 

Pseudocode

 

  1. ANIMAL_INS 테이블과 ANIMAL_OUTS 테이블을 ANIMAL_ID로 조인.
  2. 각 동물의 OUT 시점(O.DATETIME)과 IN 시점(I.DATETIME)의 차이를 계산.
  3. 차이를 기준으로 내림차순 정렬.
  4. 가장 큰 차이를 가진 상위 2개의 결과에서 ANIMAL_ID와 NAME을 선택하여 출력.
 

 

Code

 

SELECT I.ANIMAL_ID, I.NAME
FROM ANIMAL_INS I JOIN ANIMAL_OUTS O
ON I.ANIMAL_ID = O.ANIMAL_ID
ORDER BY (O.DATETIME - I.DATETIME) DESC
LIMIT 2