SQL

[프로그래머스 | SQL] 입양 시각 구하기(2)

HANBEEN 2024. 4. 17. 21:23
반응형

입양 시각 구하기(2)

select b.hour HOUR, NVL(a.count,0) as count
  from
        (select to_char(DATETIME, 'HH24') hour, count(*) count
          from ANIMAL_OUTS
         GROUP BY to_char(DATETIME, 'HH24')) a,

        (select (level-1) as hour
          from dual
        connect by level<=24 ) b
where a.hour(+) = b.hour
order by 1 asc

 

어려웠다.. 먼저 Connect by 를 알고 있어야 한다. 

Connect by를 통해 0~23까지 데이터를 만들고, 본 테이블 데이터와 조인한다. 

본테이블의 경우 모든 숫자가 있는것이 아니기 때문에 (+)을 붙어주어 없는 값은 0으로 출력되게 한다. 

그 후 NULL 값이 나오지 않도록 NVL처리까지 ! 

반응형