입양시각구하기2.md


프로그래머스 SQL 문제집에 있는 입양시각구하기2 문제이다. 문제링크-입양시각구하기 sqlimage 앞서 나왔던 문제들에는 전혀 나오지 않았던 sql 변수를 사용하여 문제를 해결했다.

이 문제의 관건은 datetime 컬럼에 존재하지 않는 시간대까지 count하여 출력해야하는 것이다. 일반적인 group by로는 존재하지 않는 시간대는 출력할 수 없었기 때문에 변수를 사용해서 해결하였다.

  • Mysql

set @hour = -1;
select 
(@hour := @hour + 1) as 'HOUR',
(
    select count(*)
    from animal_outs
    where HOUR(datetime) = @hour
) as 'COUNT' 
from animal_outs 
where @hour < 23

Last updated