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