프로그래머스 - 입양 시각 구하기(2)

개발하는 구황작물·2023년 3월 14일
0

https://school.programmers.co.kr/learn/courses/30/lessons/59413

정답부터 알아보도록 하자


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

한줄 한줄 뜯어본다면

SET @hour := -1;
변수 선언시 SET @변수명을 사용하면 변수를 선언할 수 있다. 여기서 :=를 사용하는 이유는 SET 이외의 명령어에는 = 가 비교연산자로 취급되기 때문에 :=로 값을 대입한다고 한다.

SELECT (@hour := @hour + 1) as HOUR
이 구문을 통해 0~23까지 1시간 단위로 컬럼을 추가할 수 있다.
이 때 처음 값이 -1이기 때문에 0부터 시작해서 1,2,3...으로 컬럼이 추가된다

where @hour <23
이후 @hour<23 까지 @hour값이 +1씩 증가된다.

profile
어쩌다보니 개발하게 된 구황작물

0개의 댓글