728x90
출처: 프로그래머스
https://programmers.co.kr/learn/courses/30/lessons/59413
WITH RECURSIVE TMP_A AS(
SELECT 0 AS H
UNION ALL
SELECT H+1
FROM TMP_A
WHERE H<23
)
SELECT TMP_A.H AS HOUR, COUNT(HOUR(B.DATETIME)) AS COUNT
FROM TMP_A
LEFT JOIN ANIMAL_OUTS AS B
ON TMP_A.H = HOUR(B.DATETIME)
GROUP BY HOUR
ORDER BY HOUR;
재귀 쿼리는 잘 써본 적이 없는 것 같아서 매번 까먹는다.
외우자
이 문제 여러 번 풀기
* WITH RECURSIVE 쿼리
WITH RECURSIVE 테이블명 AS (
SELECT 초기값 AS 별명
UNION ALL
SELECT 별명 식 FROM 테이블명 WHERE 제어식
)
'알고리즘 문제 풀이 > 프로그래머스' 카테고리의 다른 글
[프로그래머스] 있었는데요 없었습니다 mysql (0) | 2022.02.11 |
---|---|
[프로그래머스] 없어진 기록 찾기 mysql (*) (0) | 2022.02.11 |
[프로그래머스] DATETIME에서 DATE로 형 변환 mysql (0) | 2022.02.11 |
[프로그래머스] 오랜 기간 보호한 동물(2) MySQL (0) | 2022.02.11 |
[프로그래머스] 중성화 여부 파악하기 MYSQL (*) (0) | 2022.02.11 |