
SELECT DATE_FORMAT(datetime,'%H') as HOUR,count(*) as COUNT
from ANIMAL_OUTS
where DATE_FORMAT(datetime,'%H') between 09 and 20
group by HOUR
order by HOUR
동작은 where절과 같지만, group by 된 후 그룹화 된 데이터들에 조건을 매긴다.
주어진 문제에서 where 절에는 select 별칭을 쓰지 못했지만, having 절은 select 문 후 실행되므로 별칭을 쓸 수 있다.
YEAR(기준 날짜)
년도만 추출
MONTH(기준 날짜)
달만 추출
DAY(기준 날짜)
일만 추출
HOUR(기준 날짜)
시간만 추출
MINUTE(기준 날짜)
분만 추출
SECOND(기준 날짜)
초만 추출
DATE_FORMAT(날짜, 형식)

group by로 분류한 결과를 having 절로 제어하면 더 깔끔하게 쓸 수 있음