https://programmers.co.kr/learn/courses/30/lessons/59039

동물 보호소에 들어온 동물 중, 이름이 없는 채로 들어온 동물의 ID를 조회하는 SQL 문을 작성해주세요. 단, ID는 오름차순 정렬되어야 합니다.

-- 코드를 입력하세요
SELECT animal_id
from animal_ins
where name is null
order by animal_id

https://programmers.co.kr/learn/courses/30/lessons/59413

보호소에서는 몇 시에 입양이 가장 활발하게 일어나는지 알아보려 합니다. 0시부터 23시까지, 각 시간대별로 입양이 몇 건이나 발생했는지 조회하는 SQL문을 작성해주세요. 이때 결과는 시간대 순으로 정렬해야 합니다.




#1. 시간대별 입양건수 집계하기
-- 코드를 입력하세요
SELECT to_char(datetime,'HH24') as HOUR, count(*)
from animal_outs
group by to_char(datetime,'HH24')
order by 1

이렇게 하면 입양이 없는 시간대는 나타나지 않았다..


#2. 시간대별 데이터 생성하기
00시 부터 23시까지 숫자가 있는 데이터 생성

select to_char('00') + level -1 as hour
from dual
connect by level between 00 and 24




#3. 두 테이블 조인
nvl을 사용해서, a에 데이터가 null 이면, 0으로 치환
b의 시간을 기준으로, a시간 아우터 조인

-- 코드를 입력하세요
select b.hour as hour
,nvl(a.count,0) as count
from (select to_char(datetime,'HH24') as hour
, count(*) as count
from animal_outs
group by to_char(datetime,'HH24')
order by 1
) a
,(select to_char('00') + level -1 as hour
from dual
connect by level between 00 and 24
) b
where b.hour = a.hour(+)
order by 1


https://programmers.co.kr/learn/courses/30/lessons/59412

코딩테스트 연습 - 입양 시각 구하기(1)

ANIMAL_OUTS 테이블은 동물 보호소에서 입양 보낸 동물의 정보를 담은 테이블입니다. ANIMAL_OUTS 테이블 구조는 다음과 같으며, ANIMAL_ID, ANIMAL_TYPE, DATETIME, NAME, SEX_UPON_OUTCOME는 각각 동물의 아이디, 생물

programmers.co.kr


보호소에서는 몇 시에 입양이 가장 활발하게 일어나는지 알아보려 합니다. 09:00부터 19:59까지, 각 시간대별로 입양이 몇 건이나 발생했는지 조회하는 SQL문을 작성해주세요. 이때 결과는 시간대 순으로 정렬해야 합니다.



select to_char(datetime,'hh24') as Hour, count(*)
from animal_outs
where to_char(datetime,'hh24:mi') between '09:00' and '19:59'
group by to_char(datetime,'hh24')
order by 1;




*** hh로 하면 안됨..
시간포멧
hh&hh12 = 12시간제로
hh24 : 24시간제

+ Recent posts