1. 문제 풀이 아이디어
HOUR
함수를 사용하여datetime
에서 시간만 추출하고,GROUP BY
로 그룹화한 뒤HAVING
절로 원하는 범위를 필터링하여 문제를 해결할 수 있다.
2. 나의 정답 코드
SELECT HOUR(datetime) AS `hour`, COUNT(*) AS `count`
FROM animal_outs
GROUP BY `hour`
HAVING `hour` BETWEEN 9 AND 19
ORDER BY `hour`;
3. 정리
HOUR
함수를 사용해datetime
에서 시간만 추출한 후,AS
키워드를 사용해hour
로 별칭을 설정한다.
GROUP BY
절로hour
를 기준으로 그룹화한 뒤,HAVING
절로9
이상19
이하의 값만 필터링하고,COUNT
함수로 각 그룹의 개수를 계산한다.
ORDER BY
절에 옵션을 생략하여hour
를 기준으로 오름차순 정렬한다.
Share article