https://school.programmers.co.kr/learn/courses/30/lessons/59413
WITH RECURSIVE TEMP AS (
SELECT 0 AS H
UNION ALL
SELECT H + 1 FROM TEMP WHERE H < 23
)
SELECT
H AS HOUR,
COUNT(ANIMAL_ID) AS COUNT
FROM
TEMP LEFT JOIN
ANIMAL_OUTS ON H = HOUR(DATETIME)
GROUP BY H
ORDER BY H