프로그래머스
SW개발자를 위한 평가, 교육, 채용까지 Total Solution을 제공하는 개발자 성장을 위한 베이스캠프
programmers.co.kr
문제 풀이
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
ORDER BY HOUR
정리
SET
1. 변수에 값을 할당할 때 사용하는 키워드
SET @HOUR = -1;
@HOUR라는 사용자 변수를 만들고 -1을 넣은 것
이 변수는 이후 쿼리에서 쓸 수 있다. 마치 파이썬에서 hour=1 하는 것과 같다.
2. :=
(@HOUR := @HOUR + 1) AS HOUR
대입 연산자
@HOUR 값을 1 증가시키고, 그 값을 HOUR라는 별칭으로 출력
'코딩테스트 > SQL' 카테고리의 다른 글
[프로그래머스 LV4][SQL] 자동차 대여 기록 별 대여 금액 구하기 (0) | 2025.04.19 |
---|---|
[프로그래머스 LV4][SQL] 오프라인/온라인 판매 데이터 통합하기 (0) | 2025.04.17 |
[프로그래머스 LV4][SQL] 우유와 요거트가 담긴 장바구니 (0) | 2025.04.16 |
[프로그래머스 LV4][SQL] 년, 월, 성별 별 상품 구매 회원 수 구하기 (0) | 2025.04.16 |
[프로그래머스 LV4][SQL] 저자 별 카테고리 별 매출액 집계하기 (0) | 2025.04.14 |