[Programmers] 59413번 - 입양 시각 구하기(2) [MySQL]
[Programmers] 59413번 - 입양 시각 구하기(2) [MySQL]
1. 문제 풀이
WITH RECURSIVE를 활용해서 해결했다. 0부터 23까지를 행으로 갖는 가상 테이블을 만들고 이를 ANIMAL_OUTS와 LEFT JOIN 해줬다.
2. 쿼리
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
WITH RECURSIVE hours AS (
SELECT 0 AS HOUR
UNION ALL
SELECT HOUR + 1
FROM hours
WHERE HOUR < 23
)
SELECT
h.HOUR,
COUNT(a.ANIMAL_ID)
FROM hours AS h
LEFT JOIN ANIMAL_OUTS AS a
ON HOUR(a.DATETIME) = h.HOUR
GROUP BY h.HOUR
ORDER BY h.HOUR;
This post is licensed under CC BY 4.0 by the author.