https://school.programmers.co.kr/learn/courses/30/lessons/59412#
SELECT
HOUR(DATETIME) AS HOUR,
COUNT(*) AS COUNT
FROM ANIMAL_OUTS
GROUP BY 1
HAVING 1=1
AND HOUR BETWEEN 9 AND 20
ORDER BY 1
처음에
CAST(DATE_FORMAT(DATETIME,'%H') AS SIGNED)
이런식으로 타임스탬프에서 시간대만 나오도록 했었는데 계속 오류가 나서
HOUR(DATETIME) 이렇게 바꿨다.
같은 스터디 하시는 분이 문제에 맞게 코드를 잘짜셔서 한번 가져와 보았다.
SELECT HOUR(DATETIME) AS HOUR
, COUNT(1) AS COUNT
FROM ANIMAL_OUTS
WHERE DATE_FORMAT(DATETIME,'%H:%i') BETWEEN '09:00' AND '19:59'
GROUP BY HOUR(DATETIME)
ORDER BY HOUR(DATETIME)
시간대 사이 부분을 잘 캐치하신 모습!