TIL
프로그래머스 SQL 입양 시각 구하기(2) MySQL
HanGyuJung
2021. 8. 26. 15:55
https://programmers.co.kr/learn/courses/30/lessons/59413
코딩테스트 연습 - 입양 시각 구하기(2)
ANIMAL_OUTS 테이블은 동물 보호소에서 입양 보낸 동물의 정보를 담은 테이블입니다. ANIMAL_OUTS 테이블 구조는 다음과 같으며, ANIMAL_ID, ANIMAL_TYPE, DATETIME, NAME, SEX_UPON_OUTCOME는 각각 동물의 아이디, 생물
programmers.co.kr
프로그래머스의 SQL 고득점 KIT GROUP BY 문제중에 가장 어려운 문제다..
이 문제를 보자마자 막막했다. 0~24까지 하나하나 집어넣어주는 방법말고는 생각이 아예 안났다.
검색을 해서 알아보니 이 문제는 SQL에서 로컬 변수를 생성해서 풀어야 했다.
코드는 다음과 같다.
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 : 어떤 변수를 선언하는 명령어이다. ( SET @hour = -1 ); 로 해도 똑같다.
MySQL에서는 '=' 연산자가 비교연산자로 사용이되는데 예외적으로 SET 명령어에서는 대입연산자로 활용된다.
그러니 대입연산을 할때는 그냥 통일적으로 := 연산자를 활용하자.