-
[SQL 프로그래머스 GROUP BY] 입양 시각 구하기(2)(ORACLE, MYSQL)<프로그래머스 고득점 SQL Kit> 2023. 5. 24. 19:02728x90
입양 시각 구하기(2)
0시부터 23시까지, 각 시간대별로 입양이 몇 건이나 발생했는지 조회하는 SQL문을 작성해주세요. 이때 결과는 시간대 순으로 정렬해야 합니다.
-- MYSQL
WITH RECURSIVE num(HOUR) AS (
SELECT 0
UNION ALL
SELECT HOUR+1 FROM num WHERE HOUR<23
)
SELECT A.HOUR,
CASE WHEN B.CNT IS NULL
THEN 0 ELSE B.CNT END AS COUNT
FROM num A
LEFT JOIN (SELECT HOUR(DATETIME) AS H, COUNT(ANIMAL_ID) AS CNT
FROM ANIMAL_OUTS
GROUP BY 1) AS B
ON A.HOUR = B.H728x90
-- ORACLE
SELECT A.HOUR, COUNT(B.TIME) AS COUNT
FROM (SELECT LEVEL-1 AS HOUR FROM DUAL CONNECT BY level <25) A
LEFT OUTER JOIN (SELECT TO_CHAR(DATETIME, 'hh24') as TIME FROM ANIMAL_OUTS) B
ON A.HOUR = B.TIME
GROUP BY A.HOUR
ORDER BY A.HOUR;728x90'<프로그래머스 고득점 SQL Kit>' 카테고리의 다른 글
[SQL 프로그래머스 GROUP BY] 진료과별 총 예약 횟수 출력하기(ORACLE, MYSQL) (0) 2023.05.24 [SQL 프로그래머스 GROUP BY] 성분으로 구분한 아이스크림 총 주문량(ORACLE, MYSQL) (0) 2023.05.24 [SQL 프로그래머스 GROUP BY] 년, 월, 성별 별 상품 구매 회원 수 구하기(ORACLE, MYSQL) (0) 2023.05.24 [SQL 프로그래머스 GROUP BY] 카테고리 별 도서 판매량 집계하기(ORACLE, MYSQL) (0) 2023.05.24 [SQL 프로그래머스 GROUP BY] 조건에 맞는 사용자와 총 거래금액 조회하기(ORACLE, MYSQL) (0) 2023.05.24