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

2019. 11. 11. 10:06알고리즘/프로그래머스

728x90
반응형

문제 설명


문제 풀이

SELECT A.ANIMAL_ID, A.NAME
FROM ANIMAL_INS A, ANIMAL_OUTS B
WHERE A.ANIMAL_ID = B.ANIMAL_ID
ORDER BY B.DATETIME-A.DATETIME DESC
LIMIT 2

 

보호기간이 가장 긴 동물은

입양을 간 날짜에서 보호가 시작된 날짜를 빼면

그만큼 보호소에 있었던 것이 됩니다.

 

DATE 타입 끼리는 기본적인 연산이 가능하므로 

ORDER BY  절에서 보시면 B.DATETIME-A.DATETIME을 한 뒤

그 값들을 내림차순으로 정렬하였습니다.

그렇게 되면 보호소에 가장 오래 있었던 동물이 맨 위로 오게 되고

두 마리만 출력하면 되므로 LIMIT 2 이렇게 마지막에 썼습니다.

 

출처 : 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는 각각 동물의 아이디, 생물 종, 보호 시작일, 보호 시작 시 상태, 이름, 성별 및 중성화 여부를 나타냅니다. NAME TYPE NULLABLE ANIMAL_ID VARCHAR(N) FALS

programmers.co.kr

 

728x90
반응형