문제: 각 시간대별 입양 발생 건수 조회하기
DATETIME
의 시간으로 묶어서 입양 건수 세기WEHRE
또는 HAVING
--- HAVING
SELECT HOUR(DATETIME) HOUR, COUNT(*) COUNT
FROM ANIMAL_OUTS
GROUP BY HOUR(DATETIME)
HAVING HOUR BETWEEN 9 AND 19
ORDER BY HOUR
--- WHERE
SELECT HOUR(DATETIME) HOUR, COUNT(*) COUNT
FROM ANIMAL_OUTS
WHERE HOUR(DATETIME) BETWEEN 9 AND 19
GROUP BY HOUR(DATETIME)
ORDER BY HOUR
문제: 각 시간대별 입양 발생 건수 조회하기
--- HOUR 열에 0부터 23까지
SET @HOUR = -1; // 변수 선언 및 초기값 설정
SELECT (@HOUR := @HOUR + 1) HOUR // 대입 연산을 통해 1씩 증가하여 0부터 시작
FROM ANIMAL_OUTS
WHERE @HOUR < 23 // 22일 때 SELECT에서 23까지 나타내고 종료
DATETIME
중 시간과 @HOUR
과 같은 개수 세기SET @HOUR = -1;
SELECT (@HOUR := @HOUR + 1) HOUR,
(SELECT COUNT(*) FROM ANIMAL_OUTS
WHERE HOUR(DATETIME) = @HOUR) COUNT
FROM ANIMAL_OUTS
WHERE @HOUR < 23