create table temp_20221209
(date_id date,
num int);
insert into temp_20221209(date_id,num)
values (date_format('20221208','%Y-%m-%d'),12);
insert into temp_20221209(date_id,num)
values (date_format('20221210','%Y-%m-%d'),13);
insert into temp_20221209(date_id,num)
values (date_format('20221215','%Y-%m-%d'),16);
insert into temp_20221209(date_id,num)
values (date_format('20221115','%Y-%m-%d'),18);
SELECT (case when day(date_id)<9 then month(date_sub(date_id,interval 1 month)) else month(date_id) end ),sum(num)
FROM temp_20221209
group by (case when day(date_id)<9 then month(date_sub(date_id,interval 1 month)) else month(date_id) end )