프로그래머스 문제
https://school.programmers.co.kr/learn/courses/30/lessons/59411
풀이
https://school.programmers.co.kr/questions/75013
-- 풀이 쿼리
-- 입양 간 동물 중 보호기간이 가장 길었던 동물 2마리의 아이디와 이름 조회
-- 보호기간 긴 순으로 조회
SELECT I.ANIMAL_ID, I.NAME
FROM ANIMAL_INS I
JOIN ANIMAL_OUTS O
ON I.ANIMAL_ID = O.ANIMAL_ID
ORDER BY TIMESTAMPDIFF(MINUTE, I.DATETIME, O.DATETIME) DESC
LIMIT 2
- DATETIME이 분 단위이므로 DATEDIFF()보단 TIMESTAMPDIFF()를 사용해서 입양 기간을 분 단위로 구하는 게 더 정확할 것 같다.
- DATETIME이 분 단위이므로 입양 기간이 똑같은 동물들은 없을 것 같지만, 혹여나 있는 경우의 수도 고려하려면 쿼리를 좀 더 자세히 짜야 할 것 같다.
- 서브쿼리나 CTE는 굳이 쓸 필요 없다.
'코딩테스트 > SQL - 프로그래머스' 카테고리의 다른 글
SQL 고득점 kit(SELECT) - 멸종위기의 대장균 찾기 (0) | 2024.04.08 |
---|---|
SQL 고득점 kit(String, Date) - 조건에 맞는 사용자 정보 조회하기 (0) | 2024.04.04 |
SQL 고득점 kit(String, Date) - 조회수가 가장 많은 중고거래 게시판의 첨부파일 조회하기 (0) | 2024.04.02 |
연도별 대장균 크기의 편차 구하기 (0) | 2024.03.30 |
우유와 요거트가 담긴 장바구니 (0) | 2024.03.30 |