코딩테스트/SQL

[SQL] 오랜 기간 보호한 동물(2) - MYSQL

5월._. 2022. 5. 6.
728x90

1. 문제

 

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

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

programmers.co.kr

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


2. 풀이

ORDER BY가 컬럼명만 되는 게 아니라 수식도 된다. INNER JOIN 한 뒤 둘의 DATETIME을 빼서 정렬했다.

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

3. 결과

댓글