在SQL里面分别处理月和周的数据,在和日的数据union all起来
--------------------案例----------
with basedata as(
select '2024-01-01' as billdate,100 as nnum from dual
union all
select '2024-01-02' as billdate,120 as nnum from dual
union all
select '2024-01-03' as billdate,90 as nnum from dual
union all
select '2024-01-04' as billdate,80 as nnum from dual
union all
select '2024-01-05' as billdate,150 as nnum from dual
union all
select '2024-01-06' as billdate,14 as nnum from dual
union all
select '2024-01-07' as billdate,100 as nnum from dual
union all
select '2024-01-08' as billdate,180 as nnum from dual)
--月度汇总数据
select substr(billdate,1,7) as datetype ,sum(nnum) from basedata group by substr(billdate,1,7)
union all
--周汇总数据
select to_char(to_date(billdate,'yyyy-MM-dd'),'ww') as datetype ,sum(nnum) from basedata group by to_char(to_date(billdate,'yyyy-MM-dd'),'ww')
union all
--每日数据
select billdate as datetype ,sum(nnum) from basedata group by billdate
---------------效果------------
