땀두 블로그

[프로그래머스] STRING,DATE - 입양 시간 구하기(2) 본문

알고리즘/프로그래머스

[프로그래머스] STRING,DATE - 입양 시간 구하기(2)

땀두 2022. 3. 29. 14:17

 

처음에는 그냥 BETWEEN을 이용해서 0시부터 23시까지를 구했는데, 이 방법을 사용하면, 값이 0인 칼럼은 제거되고 나오게 되었다. 그래서 다른 블로그들을 참고하여 변수 선언하는 방법을 이용하여 풀어야 한다는 것을 알았고, 문제를 해결하였다.

 

SELECT HOUR(DATETIME) AS 'HOUR', IFNULL(COUNT(*),0)
FROM ANIMAL_OUTS
WHERE HOUR(DATETIME) BETWEEN 0 AND 23
GROUP BY HOUR
ORDER BY HOUR;
 

처음에 틀렸던 코드

 

SET @HOUR = -1;
SELECT (@HOUR := @HOUR +1) AS HOUR,
    (SELECT COUNT(HOUR(DATETIME)) 
    FROM ANIMAL_OUTS 
    WHERE HOUR(DATETIME)=@HOUR) AS COUNT 
    FROM ANIMAL_OUTS
WHERE @HOUR < 23;
 

SET을 이용하여 변수를 선언하고, 그 변수를 이용하여서 0 ~ 23시의 값을 구하였다.

 

Comments