알고리즘 & 코딩테스트

[프로그래머스 SQL 테스트] 입양 시각 구하기(2)

Haksae 2022. 4. 28. 20:12
프로그래머스에 SQL 테스트가 있길래 심심해서 쭉 한번 풀어봤는데, 거기서 몰랐던 부분이 있는 문제가 있어서 남겨봅니다.

[입양 시각 구하기 (2)]

 

👉🏻  답안

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
    • 어떤 특정한 값을 할당할 떄 쓰는 명령어
    • @가 붙은 변수는 프로시저가 종료되어도 유지된다.
    • 이를 통해 값을 누적하여 0부터 23까지 표현 가능
    • := 은 비교 연산자 =과 혼동을 피하기 위한 대입 연산
  • SELECT(@HOUR := @HOUR+1)은 @HOUR의 값에 1씩 증가시키면서 SELECT 문 전체를 실행하게됨