https://school.programmers.co.kr/learn/courses/30/lessons/59413
여기서 포인트는 없는 시간대 또한 만들어야 된다.
WITH RECURSIVE TIME AS(
SELECT 0 AS hour
UNION ALL
SELECT hour+1
FROM TIME
LIMIT 24
)
SELECT
t.hour,
COUNT(h.ANIMAL_ID) AS COUNT
FROM
(SELECT *, HOUR(DATETIME) as hour
FROM ANIMAL_OUTS
) h
RIGHT JOIN TIME t
ON h.hour=t.hour
GROUP BY
t.hour
ORDER BY
t.hour
설명!
RECURSIVE : 파이썬의 for문과 비슷한 느낌!
WITH 절에서 사용하며 UNION ALL 사이의 값을 계속 반복한다.
오늘 새로운 문법을 알았다...!!!