
WITH RECURSIVE TIME AS (
SELECT 0 AS HOUR
UNION ALL
SELECT HOUR + 1
FROM TIME
WHERE HOUR < 23
)
SELECT T.HOUR, COUNT(A.ANIMAL_ID) AS COUNT
FROM TIME T LEFT JOIN ANIMAL_OUTS A ON T.HOUR = HOUR(A.DATETIME)
GROUP BY T.HOUR
ORDER BY T.HOUR ASC;
*CTE
- 쿼리 안에서 쓰이는 임시 테이블 만드는 방법
WITH 테이블이름 AS (
서브쿼리
)
SELECT ...
FROM 테이블이름
*재귀 CTE
- 자기 자신을 SELECT 안에서 재참조할 수 있게 해주는 재귀 테이블 선언
- WITH RECURSIVE 가 재귀 CTE 선언
WITH RECURSIVE 테이블이름 AS (
서브쿼리
)
SELECT ...
FROM 테이블이름'💻 프로그래밍 > 프로그래머스' 카테고리의 다른 글
| 프로그래머스 - 언어별 개발자 분류하기 (0) | 2025.04.10 |
|---|---|
| 프로그래머스 - 가격대 별 상품 개수 구하기 (0) | 2025.04.05 |
| 프로그래머스 - 입양 시각 구하기(1) (0) | 2025.04.05 |
| 프로그래머스 - 진료과별 총 예약 횟수 출력하기 (0) | 2025.04.02 |
| 프로그래머스 - 조건에 맞는 사용자와 총 거래금액 조회하기 (0) | 2025.04.02 |