프로그래머스

프로그래머스 입양 시각 구하기(2)

콩순이냉장고 2022. 3. 29. 20:04

문제 URL : https://programmers.co.kr/learn/courses/30/lessons/59413

 

코딩테스트 연습 - 입양 시각 구하기(2)

ANIMAL_OUTS 테이블은 동물 보호소에서 입양 보낸 동물의 정보를 담은 테이블입니다. ANIMAL_OUTS 테이블 구조는 다음과 같으며, ANIMAL_ID, ANIMAL_TYPE, DATETIME, NAME, SEX_UPON_OUTCOME는 각각 동물의 아이디, 생물

programmers.co.kr

 

문제 접근법 : sql 문제이지만 처음 써보는 문법을 공부하게되서 올립니다.

문제를 풀때 새로운 테이블이 필요하지만

 

시간을 0~23까지 나타내는 테이블이 필요합니다. 결국엔 0~23까지 출력하는 테이블을 작성해야하는데

sql을 저런 반복문을 어떻게 구성해야할지 오늘 처음 알게 됐네요

 

with recursive 문장을 쓰면 되기때문에 이것만 사용할줄알면 나머지는 left 혹은 right 조인만 작성하면 끝

 

1
2
3
4
5
6
7
8
9
with recursive numbers as(
    select 0 as hour union all select hour+1 from numbers where hour<23
)
select n.hour as hour ,count(hour(a.datetime)) as count
from animal_outs a
right outer join numbers n on hour(a.datetime= n.hour
group by n.hour
order by n.hour
 
cs

 

궁금한점 혹은 모르는점 어떤질문이든 댓글은 언제나 환영입니다.