云胡不安

时间段间隔查询

--间隔一小时

select sysdate + level / 24 as st, sysdate + (level + 1) / 24 as ed
  from dual
connect by level < = 24


--添加业务
select intv.st,
       intv.ed,
       (select count(1)
          from t_able t
         where t.st >= intv.st
           and t.ed <= intv.ed)
  from (select sysdate + level / 24 as st, sysdate + (level + 1) / 24 as ed
          from dual
        connect by level < = 24) intv


--添加业务
select intv.st,
       intv.ed,
       count(1)
  from (select sysdate + level / 24 as st, 
               sysdate + (level + 1) / 24 as ed
          from dual
       connect by level < = 24) intv
  left join t_able t
    on t.st >= intv.st
   and t.ed <= intv.ed
 group by intv.st, intv.ed
 order by intv.st

 

posted on 2020-09-16 13:55  云胡不安  阅读(242)  评论(0)    收藏  举报

导航