
이 문제 유형은 또 새로웠습니다.
0~23 숫자행으로 이루어진 테이블을 자체적으로 만들어 주고 조인을 해주었습니다.
SELECT H HOUR
, CASE WHEN COUNT IS NULL THEN 0 ELSE COUNT END COUNT
FROM (
SELECT DATE_FORMAT(DATETIME, '%k') HOUR
, COUNT(ANIMAL_ID) COUNT
FROM ANIMAL_OUTS
GROUP BY HOUR) AS T1
RIGHT JOIN
(SELECT 0 AS H UNION SELECT 1 UNION SELECT 2 UNION SELECT 3 UNION SELECT 4 UNION
SELECT 5 UNION SELECT 6 UNION SELECT 7 UNION SELECT 8 UNION SELECT 9 UNION
SELECT 10 UNION SELECT 11 UNION SELECT 12 UNION SELECT 13 UNION SELECT 14 UNION
SELECT 15 UNION SELECT 16 UNION SELECT 17 UNION SELECT 18 UNION SELECT 19 UNION
SELECT 20 UNION SELECT 21 UNION SELECT 22 UNION SELECT 23) AS T2 ON T1.HOUR = T2.H
ORDER BY HOUR
헤맸던 부분 첫 번째
0~23 시간대를 새로 만들어주기!! 구글링을 통해 알았다
SELECT 0 AS H UNION SELECT 1 UNION SELECT 2 UNION SELECT 3 UNION SELECT 4 UNION
SELECT 5 UNION SELECT 6 UNION SELECT 7 UNION SELECT 8 UNION SELECT 9 UNION
SELECT 10 UNION SELECT 11 UNION SELECT 12 UNION SELECT 13 UNION SELECT 14 UNION
SELECT 15 UNION SELECT 16 UNION SELECT 17 UNION SELECT 18 UNION SELECT 19 UNION
SELECT 20 UNION SELECT 21 UNION SELECT 22 UNION SELECT 23
SELECT DATE_FORMAT(DATETIME, '%k') HOUR