with 销售目标 as
(
WITH RECURSIVE dates AS (
SELECT 1 AS day_num
UNION ALL
SELECT day_num + 1 FROM dates
WHERE day_num < DAY(LAST_DAY(STR_TO_DATE(CONCAT('2025-01', '-01'), '%Y-%m-%d')))
),t as
(select 年月,
机构名称,
sum(销售目标)/10000/DAY(LAST_DAY(CONCAT(left(年月,4), '-', RIGHT(年月,2), '-01'))) 日销售目标
from dw_销售目标
group by 年月,机构名称)
SELECT
STR_TO_DATE(CONCAT(t.年月, '-', LPAD(d.day_num, 2, '0')), '%Y-%m-%d') AS date,
t.机构名称,
t.日销售目标
FROM t
JOIN dates d ON 1=1
WHERE STR_TO_DATE(CONCAT(t.年月, '-', LPAD(d.day_num, 2, '0')), '%Y-%m-%d') is not null
)
select 机构名称,sum(日销售目标) 销售目标 from 销售目标
where date>='2025-03-31' and date<='2025-04-01'
group by 机构名称