728x90
반응형
접속 링크
https://programmers.co.kr/learn/courses/30/lessons/12950?language=javascript
코딩테스트 연습 - 오랜 기간 보호한 동물(2)
ANIMAL_INS 테이블은 동물 보호소에 들어온 동물의 정보를 담은 테이블입니다. ANIMAL_INS 테이블 구조는 다음과 같으며, ANIMAL_ID, ANIMAL_TYPE, DATETIME, INTAKE_CONDITION, NAME, SEX_UPON_INTAKE는 각각 동물의 아이디
programmers.co.kr
문제 설명
입양을 간 동물 중, 보호 기간이 가장 길었던 동물 두 마리의 아이디와 이름을 조회하는 SQL문을 작성해주세요. 이때 결과는 보호 기간이 긴 순으로 조회해야 합니다.
테이블
- ANIMAL_INS
ANIMAL_ID | VARCHAR(N) | FALSE |
ANIMAL_TYPE | VARCHAR(N) | FALSE |
DATETIME | DATETIME | FALSE |
INTAKE_CONDITION | VARCHAR(N) | FALSE |
NAME | VARCHAR(N) | TRUE |
SEX_UPON_INTAKE | VARCHAR(N) | FALSE |
- ANIMAL_OUTS
ANIMAL_ID | VARCHAR(N) | FALSE |
ANIMAL_TYPE | VARCHAR(N) | FALSE |
DATETIME | DATETIME | FALSE |
NAME | VARCHAR(N) | TRUE |
SEX_UPON_OUTCOME | VARCHAR(N) | FALSE |
포인트
보호기간을 찾는 방법, ANIMAL_OUTS의 입양일 - ANIMAL_INS 보호시작일
ANIMAL_OUTS와 ANIMAL_INS를 조인하여 보호기간을 추출한다.
추출한 내역을 보호기간의 역순으로 추출한다. (보호기간이 긴 순서)
ROWNUM을 활용하여 최상위 2개를 추출한다.
SQL
SELECT ANIMAL_ID, NAME
FROM (
SELECT A.ANIMAL_ID
,A.NAME
,B.DATETIME - A.DATETIME
FROM ANIMAL_INS A INNER JOIN ANIMAL_OUTS B
ON A.ANIMAL_ID = B.ANIMAL_ID
ORDER BY 3 DESC
)
WHERE ROWNUM <= 2
728x90
반응형
'코딩테스트' 카테고리의 다른 글
프로그래머스 SQL 고득점 Kit String Date 중성화 여부 파악하기 (0) | 2022.05.23 |
---|---|
프로그래머스 SQL 고득점 Kit String Date 이름에 el이 들어가는 동물 찾기 (0) | 2022.05.23 |
프로그래머스 입양 시각 구하기(2) oracle (0) | 2022.05.01 |
콜라츠 추측 / Javascript [프로그래머스 Level1] (0) | 2022.04.29 |
신고 결과 받기 / Javascript [프로그래머스 Level1] (0) | 2022.04.29 |
댓글