[SQL 문제 풀이] 입양 시각 구하기 (2)

프로그래머스 (59413)
Stupefyee's avatar
Feb 07, 2025
[SQL 문제 풀이] 입양 시각 구하기 (2)
notion image

내가 작성한 쿼리

💡
-- 0부터 23까지의 숫자를 생성하는 재귀 CTE (Common Table Expression) WITH RECURSIVE HOURS AS ( SELECT 0 AS HOUR -- 시작값: 0시 UNION ALL SELECT HOUR + 1 -- 1씩 증가 FROM HOURS WHERE HOUR < 23 -- 23시까지 생성 ) -- 각 시간대별 입양된 동물 수 조회 SELECT H.HOUR, -- 시간대 (0~23) COALESCE(COUNT(A.ANIMAL_ID), 0) AS COUNT -- 해당 시간대의 입양 횟수 (NULL이면 0으로 처리) FROM HOURS H -- 0~23까지의 시간 테이블 (기준 테이블) LEFT JOIN ANIMAL_OUTS A -- 동물 입양 테이블과 LEFT JOIN ON H.HOUR = HOUR(A.DATETIME) -- DATETIME에서 시간(HOUR) 추출 후 매칭 GROUP BY H.HOUR -- 시간대별로 그룹화 ORDER BY H.HOUR; -- 시간대 순서대로 정렬
Share article

stupefyee