일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | 6 | 7 |
8 | 9 | 10 | 11 | 12 | 13 | 14 |
15 | 16 | 17 | 18 | 19 | 20 | 21 |
22 | 23 | 24 | 25 | 26 | 27 | 28 |
29 | 30 | 31 |
Tags
- 한능검
- NCS 디지털
- 책리뷰
- 장외파생상품
- ncs it
- 정처기 약술형
- 디지털 용어정리
- 디지털 IT 용어
- 첫연말정산
- 프로그래머스
- 디지털 상식
- 파이썬
- 알고리즘
- 코딩테스트
- SAP SD
- 컴활1과목요약
- 기술면접
- SAP
- 금융IT
- 플라잉요가고통
- 사회초년생목돈
- 연말정산처음
- 사회초년생목돈모으기
- 네트워크관리사 2급 실기
- Python
- 사회초년생1억모으기
- 5년안에1억모으기
- IT상식
- 플라잉요가후기
- 디지털 IT
Archives
- Today
- Total
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | 6 | 7 |
8 | 9 | 10 | 11 | 12 | 13 | 14 |
15 | 16 | 17 | 18 | 19 | 20 | 21 |
22 | 23 | 24 | 25 | 26 | 27 | 28 |
29 | 30 | 31 |
Tags
- 한능검
- NCS 디지털
- 책리뷰
- 장외파생상품
- ncs it
- 정처기 약술형
- 디지털 용어정리
- 디지털 IT 용어
- 첫연말정산
- 프로그래머스
- 디지털 상식
- 파이썬
- 알고리즘
- 코딩테스트
- SAP SD
- 컴활1과목요약
- 기술면접
- SAP
- 금융IT
- 플라잉요가고통
- 사회초년생목돈
- 연말정산처음
- 사회초년생목돈모으기
- 네트워크관리사 2급 실기
- Python
- 사회초년생1억모으기
- 5년안에1억모으기
- IT상식
- 플라잉요가후기
- 디지털 IT
Archives
- Today
- Total
공부기록장
[mySQL] 프로그래머스 입양시각구하기(2) recursive함수 사용해서 본문
1. 문제
ANIMAL_OUTS 테이블은 동물 보호소에서 입양 보낸 동물의 정보를 담은 테이블입니다. ANIMAL_OUTS 테이블 구조는 다음과 같으며, ANIMAL_ID, ANIMAL_TYPE, DATETIME, NAME, SEX_UPON_OUTCOME는 각각 동물의 아이디, 생물 종, 입양일, 이름, 성별 및 중성화 여부를 나타냅니다.
NAME TYPE NULLABLE
ANIMAL_ID |
VARCHAR(N) |
FALSE |
ANIMAL_TYPE |
VARCHAR(N) |
FALSE |
DATETIME |
DATETIME |
FALSE |
NAME |
VARCHAR(N) |
TRUE |
SEX_UPON_OUTCOME |
VARCHAR(N) |
FALSE |
보호소에서는 몇 시에 입양이 가장 활발하게 일어나는지 알아보려 합니다. 0시부터 23시까지, 각 시간대별로 입양이 몇 건이나 발생했는지 조회하는 SQL문을 작성해주세요. 이때 결과는 시간대 순으로 정렬해야 합니다.
2. 풀이 방법
- 0~23까지 나타나는 임시테이블을 생성한다.
- 임시테이블과 기존의 테이블을 left join한다.
- 임시테이블의 시간대별로 group by를 해준다.
- select문에 count를 삽입하여 결과를 도출한다.
3. 코드
with recursive time as ( #time이라고 하는 임시테이블 생성
select 0 as hour #초기값을 설정, 컬럼명을 hour로 설정
union all
select hour+1 #for문처럼 조건을 줄 행의 값의 연산 삽입
from time
where hour < 23 #조건을 끝내줄 용도의 코드 삽입
)
select time.hour, count(animal_id)
from time left join animal_outs ao
on time.hour = hour(ao.datetime) #time table과 animal_outs table 조인
group by time.hour; #time대 별로 그룹함수
'▶ study > SQL' 카테고리의 다른 글
[SQL] FETCH, OFFSET 사용법 정리 (0) | 2021.04.12 |
---|---|
[SQL] any, all 함수 완벽 정리 (1) | 2021.04.12 |
[SQL] SQL JOIN 종류 총 정리 (LEFT, RIGHT, FULL, INNER) (0) | 2021.04.08 |
[SQL]decode 함수 완벽 정리 (0) | 2021.04.02 |
[SQL]NVL, NVL2 함수 완벽 정리 (0) | 2021.04.02 |
Comments