Notice
Recent Posts
Recent Comments
Link
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
Tags
- sql
- MySQL
- inner join
- GRU
- t분포
- torch
- 자연어 논문
- Statistics
- 논문리뷰
- 설명의무
- 그룹바이
- 자연어처리
- 카이제곱분포
- 서브쿼리
- nlp논문
- sigmoid
- Window Function
- leetcode
- 코딩테스트
- 표준편차
- SQL 날짜 데이터
- update
- NLP
- LSTM
- HackerRank
- CASE
- 짝수
- airflow
- 자연어 논문 리뷰
- SQL코테
Archives
- Today
- Total
HAZEL
[ SQL : with recursive, SET ] 프로그래머스 : 입양 시각 구하기(2) 본문
- 문제 설명
ANIMAL_OUTS 테이블은 동물 보호소에서 입양 보낸 동물의 정보를 담은 테이블입니다. ANIMAL_OUTS 테이블 구조는 다음과 같으며, ANIMAL_ID, ANIMAL_TYPE, DATETIME, NAME, SEX_UPON_OUTCOME는 각각 동물의 아이디, 생물 종, 입양일, 이름, 성별 및 중성화 여부를 나타냅니다.
NAMETYPENULLABLE
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문을 작성해주세요. 이때 결과는 시간대 순으로 정렬해야 합니다.
문제 원본
https://programmers.co.kr/learn/courses/30/lessons/59413
>> 정답
- with recursive 를 이용해서 푸는 코드
with recursive temp as (
(select 0 HOUR)
union
(select HOUR+1 from temp where HOUR < 23)
)
select HOUR, ifnull(c.COUNT, 0)
from temp natural left outer join (
select HOUR(DATETIME) HOUR, count(*) COUNT
from ANIMAL_OUTS
group by HOUR
order by HOUR) c
- set을 사용
SET @ROWNUM :=-1;
SELECT A1 HOUR, IFNULL(COUNT,0) COUNT
FROM
(SELECT @ROWNUM :=@ROWNUM+1 A1, ANIMAL_OUTS.NAME A2
FROM ANIMAL_OUTS
WHERE @ROWNUM<23
) A
LEFT JOIN
(SELECT HOUR(DATETIME) HOUR, COUNT(HOUR(DATETIME)) COUNT
FROM ANIMAL_OUTS
GROUP BY HOUR
ORDER BY HOUR ASC) B
ON A.A1=B.HOUR
'DATA ANALYSIS > SQL' 카테고리의 다른 글
[서브쿼리] hackerrank : Contest Leaderboard (0) | 2021.11.17 |
---|---|
[서브쿼리] hackerrank : Weather Observation Station 17 (0) | 2021.11.15 |
[ SQL : 사용자 정의 함수(DECLARE, SET), CASE , IF, LIMIT 심화 ] 177. Nth Highest Salary (0) | 2021.11.12 |
[ SQL : LENGTH ] hackerrank : Weather Observation Station 5 (0) | 2021.10.25 |
[ SQL : 날짜 빼기, TIMESTAMPDIFF, DATEDIFF] 프로그래머스 오랜 기간 보호한 동물(2) (0) | 2021.10.16 |