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
Oracle
SELECT ANIMAL_ID, NAME
FROM (SELECT ai.ANIMAL_ID, ai.NAME
FROM ANIMAL_INS ai, ANIMAL_OUTS ao
WHERE ai.ANIMAL_ID = ao.ANIMAL_ID
ORDER BY ao.DATETIME - ai.DATETIME DESC)
WHERE ROWNUM <= 2
1. ANIMAL_INS와 ANIMAL_OUTS JOIN하기
2. 오랜 기간(outs.DATETIME - ins.DATETIME)을 기준으로 내림차순 정렬하기
값이 클수록 오랜 기간 보호소에 있었던 것
3. 2개만 보여주기 위해 ROWNUM 이용하기
MySQL
SELECT ai.ANIMAL_ID, ai.NAME
FROM ANIMAL_INS ai, ANIMAL_OUTS ao
WHERE ai.ANIMAL_ID = ao.ANIMAL_ID
ORDER BY ao.DATETIME - ai.DATETIME DESC
LIMIT 2
1, 2. 동일
3. 2개만 보여주기 위해 LIMIT 이용하기
반응형
'방법 > 알고리즘&코딩 테스트' 카테고리의 다른 글
[Programmers] 입양 시각 구하기(2) Oracle (0) | 2020.07.24 |
---|---|
[Programmers] 보호소에서 중성화한 동물 Oracle (0) | 2020.07.24 |
[Programmers] 오랜 기간 보호한 동물(1) MySQL, Oracle (0) | 2020.07.21 |