[MySQL] [프로그래머스 level 4] 입양 시각 구하기(2)

2025. 10. 24. 19:26·SQL/프로그래머스

📌 문제링크

https://school.programmers.co.kr/learn/courses/30/lessons/59413#

 

프로그래머스

SW개발자를 위한 평가, 교육의 Total Solution을 제공하는 개발자 성장을 위한 베이스캠프

programmers.co.kr


📌 문제풀이

## 시간 여백 채우기 위하여 재귀함수 활용
with recursive base as (
    select 0 as hour
    
    union all
    
    select hour+1
    from base
    where hour <=22)

select hour, count(animal_id) as count
from base a left join animal_outs b on a.hour=hour(b.datetime)
group by 1
order by 1

📖 NOTE

  • ANIMAL_OUTS 테이블을 이용해 시간대별 입양 건수를 GROUP BY로 집계하게 되면 입양 기록이 없는 시간대의 경우 아래오 같이 해당 시간대의 행 자체가 생성되지 않음

  • 따라서 재귀함수 with recursive 문을 활용하여 0~23 까지의 임의의 시간컬럼을 생성한 뒤, 시간대별 입양건수를 구하여 조인

📚 재귀함수 with recursive문은 아래 내용 참고

 

[MySQL] 재귀 쿼리(WITH RECURSIVE 문)

📌 재귀 쿼리란?SQL에서는 CTE(Common Table Expression) 중 WITH RECURSIVE 구문을 사용하면 자기 자신을 반복적으로 호출하는 형태의 재귀 쿼리를 만들 수 있음조직도나 카테고리 트리, 댓글처럼 부모-자식

yooninging.tistory.com

 

저작자표시 (새창열림)

'SQL > 프로그래머스' 카테고리의 다른 글

[MySQL] [프로그래머스 level 4] 주문량이 많은 아이스크림들 조회하기  (0) 2025.11.11
[MySQL] [프로그래머스 level 4] 그룹별 조건에 맞는 식당 목록 출력하기  (0) 2025.10.30
[MySQL] [프로그래머스 level 4] 자동차 대여 기록 별 대여 금액 구하기  (0) 2025.10.22
[MySQL] [프로그래머스 level 3] 조회수가 가장 많은 중고거래 게시판의 첨부파일 조회하기  (0) 2025.06.18
[MySQL] [프로그래머스 level 3] 업그레이드 할 수 없는 아이템 구하기  (0) 2025.06.17
'SQL/프로그래머스' 카테고리의 다른 글
  • [MySQL] [프로그래머스 level 4] 주문량이 많은 아이스크림들 조회하기
  • [MySQL] [프로그래머스 level 4] 그룹별 조건에 맞는 식당 목록 출력하기
  • [MySQL] [프로그래머스 level 4] 자동차 대여 기록 별 대여 금액 구하기
  • [MySQL] [프로그래머스 level 3] 조회수가 가장 많은 중고거래 게시판의 첨부파일 조회하기
ღ유닝이ღ
ღ유닝이ღ
🗃️이모저모 공부기록함🗃️
  • ღ유닝이ღ
    ღ yuni_world ღ
    ღ유닝이ღ
  • 전체
    오늘
    어제
    • 분류 전체보기 (102)
      • Python (8)
      • JAVA (0)
      • 알고리즘 (41)
        • 알고리즘 개념(이코테) (8)
        • 백준 (20)
        • 프로그래머스 (13)
      • SQL (44)
        • 프로그래머스 (39)
        • Tip (5)
      • Database (2)
      • AI (1)
      • 일상(자격증,어학 등) (6)
  • 인기 글

  • 최근 댓글

  • 최근 글

  • hELLO· Designed By정상우.v4.10.6
ღ유닝이ღ
[MySQL] [프로그래머스 level 4] 입양 시각 구하기(2)
상단으로

티스토리툴바