✅ 코드
WITH RECURSIVE cte AS (
SELECT 0 AS num
UNION ALL
SELECT num + 1
FROM cte
WHERE num < 23
), ANIMAL_OUTS_REFACTOR AS (
SELECT HOUR(DATETIME) AS HOUR
, COUNT(ANIMAL_ID) AS CNTS
FROM ANIMAL_OUTS
GROUP BY HOUR
ORDER BY HOUR
)
SELECT cte.num
, IFNULL(O.CNTS, 0)
FROM cte
LEFT JOIN ANIMAL_OUTS_REFACTOR AS O ON cte.num = O.HOUR
WITH RECURSIVE CTE문을 사용한 풀이입니다.
NULL값을 다루기 위해서 IFNULL 함수를 사용했습니다.
'알고리즘' 카테고리의 다른 글
[SQL]프로그래머스 Lv.3 자동차 대여기록에서 대여중/대여 가능 여부 구하기 (0) | 2023.12.15 |
---|---|
[SQL]프로그래머스 Lv.4 특정 기간동안 대여 가능한 자동차들의 대여비용 구하기 (0) | 2023.09.26 |
[SQL]프로그래머스 Lv.4 그룹별 조건에 맞는 식당 목록 출력하기 (0) | 2023.09.25 |
[SQL]프로그래머스 Lv.3 조회수가 가장 많은 중고거래 게시판의 첨부파일 조회하기 (0) | 2023.08.12 |
[SQL]프로그래머스 Lv.4 년, 월, 성별 별 상품 구매 회원 수 구하기 (0) | 2023.08.08 |