SQL/Programmers
Programmers - 입양 시각 구하기(2) (59%)
소HS군
2023. 2. 19. 21:30
참고링크 : https://school.programmers.co.kr/learn/courses/30/lessons/59413
C>
Q>
H>
- 0부터 23까지 수동으로 해야되는 작업
L&U>
- recursive 함수로 시간을 절약할 수 있는 좋은 방법
U : 시간별 구매수 구할 때 유용하게 쓸 수 있을 것 같다.
A>
WITH RECURSIVE T0 AS (
SELECT 0 AS HOUR
UNION ALL
SELECT HOUR+1 FROM T0 WHERE HOUR <23
)
, T1 AS (
SELECT HOUR(DATETIME) AS HOUR
, COUNT(DISTINCT ANIMAL_ID) AS CNT
FROM ANIMAL_OUTS
GROUP BY 1
)
SELECT T0.HOUR
, CASE WHEN T1.CNT IS NULL THEN 0 ELSE CNT END AS CNT
FROM T0
LEFT JOIN T1
ON T0.HOUR = T1.HOUR
ORDER BY 1