728x90
https://programmers.co.kr/learn/courses/30/lessons/59413
코딩테스트 연습 - 입양 시각 구하기(2)
ANIMAL_OUTS 테이블은 동물 보호소에서 입양 보낸 동물의 정보를 담은 테이블입니다. ANIMAL_OUTS 테이블 구조는 다음과 같으며, ANIMAL_ID, ANIMAL_TYPE, DATETIME, NAME, SEX_UPON_OUTCOME는 각각 동물의 아이디, 생물
programmers.co.kr
0시부터 23시까지, 각 시간대별로 입양이 몇 건이나 발생했는지 시간대 순으로 조회하는 SQL 문
# 0 ~ 23 을 행 값으로 가지고 있는 하나의 열 'H'로 구성된 임시 테이블 생성 후,
ANIMAL_OUTS 테이블과 입양 시간을 기준으로 LEFT OUTER JOIN 하여 'H' 를 기준으로 GROUP BY 수행
MySQL
WITH RECURSIVE TIME AS (
SELECT 0 AS H
UNION ALL
SELECT H + 1 FROM TIME WHERE H < 23
)
SELECT H HOUR, COUNT( ANIMAL_ID ) COUNT
FROM TIME LEFT OUTER JOIN ANIMAL_OUTS
ON H = HOUR( DATETIME )
GROUP BY H
ORDER BY H
Oracle DB
WITH TIME AS (
SELECT LV - 1 AS H
FROM DUAL
CONNECT BY LV < 25
)
SELECT H HOUR, COUNT( ANIMAL_ID ) COUNT
FROM TIME LEFT OUTER JOIN ANIMAL_OUTS
ON H = TO_NUMBER( TO_CHAR( DATETIME, 'HH24' ) )
GROUP BY H
ORDER BY H;
반응형
'코딩 문제 풀기 ( Algorithm problem solving ) > 프로그래머스 ( Programmers )' 카테고리의 다른 글
[프로그래머스(Programmers)][SQL] JOIN (Lv3) 없어진 기록 찾기 (0) | 2022.01.09 |
---|---|
[프로그래머스(Programmers)][SQL] JOIN (Lv3) 있었는데요 없었습니다 (0) | 2022.01.09 |
[프로그래머스(Programmers)][SQL] GROUP BY (Lv2) 입양 시각 구하기(1) (0) | 2022.01.09 |
[프로그래머스(Programmers)][SQL] GROUP BY (Lv2) 동명 동물 수 찾기 (0) | 2022.01.07 |
[프로그래머스(Programmers)][SQL] GROUP BY (Lv2) 고양이와 개는 몇 마리 있을까 (0) | 2022.01.07 |