https://programmers.co.kr/learn/courses/30/lessons/59411
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 |