----表名tb,日期字段dt,金额字段,amt
select sum(last_mon_amt) last_mon_amt,sum(cur_mon_amt) cur_mon_amt,sum(last_day_amt ) last_day_amt from(
select sum(amt) last_mon_amt,0 cur_mon_amt,0 last_day_amt from tb where date_format(dt, '%Y%m') = date_format(date_add(sysdate(), interval -1 month), '%Y%m') --上月合计
union all
select 0 last_mon_amt,sum(amt) cur_mon_amt,0 last_day_amt from tb where date_format(dt, '%Y%m') = date_format(sysdate(),'%Y%m') --当月合计
union all
select 0 last_mon_amt,0 cur_mon_amt,sum(amt) last_day_amt from tb where date_format(dt, '%Y%m%d') = date_format(date_add(sysdate(), interval -1 day),'%Y%m%d') --昨日合计
) tb1