[String, Date] 오랜 기간 보호한 동물(2)

쥬쥬스·2023년 11월 15일
0

SQL

목록 보기
54/67
post-thumbnail

문제
입양을 간 동물 중, 보호 기간이 가장 길었던 동물 두 마리의 아이디와 이름을 조회하는 SQL문을 작성해주세요. 이때 결과는 보호 기간이 긴 순으로 조회해야 합니다.

💡 조건

  • 보호 기간 구하기
  • 기간이 긴 동물 두 마리의 아이디와 이름 조회
  • 보호기간 긴 순으로 정렬

sql 코드

SELECT ins.animal_id, ins.name
FROM animal_ins as ins join animal_outs as outs 
	on ins.animal_id = outs.animal_id
WHERE (outs.datetime - ins.datetime)
ORDER BY (outs.datetime - ins.datetime) desc limit 2
  1. 동물 id로 테이블 합쳐주기
    별다른 요구사항이 없으므로 단순히 id로만 묶어줬다.
FROM animal_ins as ins join animal_outs as outs 
	on ins.animal_id = outs.animal_id
  1. 조건은 보호기간!
    특정 함수를 써야하나 고민했는데, 2년이 넘게 보호된 동물도 있고 입양간 시간이 다 달라서 함수는 사용하지 않았다. 조건으로 입양 간 날 - 보호 시작 날짜를 구해주었다.
WHERE (outs.datetime - ins.datetime)
  1. 정렬은 보호기간이 긴 기간 순으로
    보호기간이 긴 순이므로 desc를 설정해주고, 2마리만 보여줄 것이므로 limit도 걸어주었다.
ORDER BY (outs.datetime - ins.datetime) desc limit 2
  1. 조회는 아이디와 이름만
SELECT ins.animal_id, ins.name
profile
느려도... 꾸준히.....🐌

0개의 댓글