https://school.programmers.co.kr/learn/courses/30/lessons/59413
프로그래머스
SW개발자를 위한 평가, 교육, 채용까지 Total Solution을 제공하는 개발자 성장을 위한 베이스캠프
programmers.co.kr
-- 코드를 입력하세요
SELECT HOUR ,SUM(COUNT)
FROM
(
SELECT HOUR(DATETIME) AS HOUR, COUNT(*) AS COUNT
FROM ANIMAL_OUTS
GROUP BY HOUR(DATETIME) UNION
SELECT 0,0 UNION
SELECT 1,0 UNION
SELECT 2,0 UNION
SELECT 3,0 UNION
SELECT 4,0 UNION
SELECT 5,0 UNION
SELECT 6,0 UNION
SELECT 7,0 UNION
SELECT 8,0 UNION
SELECT 9,0 UNION
SELECT 10,0 UNION
SELECT 11,0 UNION
SELECT 12,0 UNION
SELECT 13,0 UNION
SELECT 14,0 UNION
SELECT 15,0 UNION
SELECT 16,0 UNION
SELECT 17,0 UNION
SELECT 18,0 UNION
SELECT 19,0 UNION
SELECT 20,0 UNION
SELECT 21,0 UNION
SELECT 22,0 UNION
SELECT 23,0
) TMP
GROUP BY HOUR
ORDER BY HOUR ASC;
with recursive hour_n (hour)
as(select 0
union all
select hour+1
from hour_n where hour < 23)
select a.hour, count(b.animal_id) as count
from hour_n as a
left join animal_outs as b on a.hour = hour(b.datetime)
group by a.hour
order by a.hour
'Problem Solving > SQL' 카테고리의 다른 글
WITH RECURSIVE CTE (0) | 2025.05.15 |
---|---|
STAMPTIMEDIFF(TYPE, START_DATETIME, END_DATETIME ),DATEDIFF(END_DATETIME,START_DATETIME) (0) | 2025.05.14 |
where절에 case when, sub쿼리 (0) | 2024.10.22 |
GROUP BY, FROM절 SUB쿼리 (0) | 2024.10.22 |
[CONCAT] 조회수가 가장 많은 중고거래 게시판의 첨부파일 조회하기 (0) | 2024.03.12 |