언어

WITH RECURSIVE

땅호720 2023. 12. 12. 16:06

임시 테이블 만들기

0~23시까지의 테이블 h 만들기

HOUR 컬럼으로 0부터 23되기 전까지 반복하면서 union -> with recursive

WITH RECURSIVE h as (
    select 0 HOUR
    UNION ALL
    select HOUR+1 from h 
    where HOUR<23
)


select h.HOUR, 
        if (COUNT is null, 0, COUNT) COUNT
from (SELECT hour(DATETIME) HOUR,
        count(*) COUNT
        from ANIMAL_OUTS
        group by HOUR
        order by HOUR) ao right join h on ao.HOUR=h.HOUR