一条查询30天内订单信息的统计sql

select m.distribution_station_name,sum(if(m.mon_audit_status=0,1,0)),sum(if(m.mon_audit_status=1,1,0)),m.distribution_member_name,m.distribution_member_id,sum(real_pay),sum(need_pay),sum(loss),sum(unpay)
from(
select ds.distribution_station_name,dm.distribution_member_name,dm.distribution_member_id,fr.order_code as orderCode,
if(fr.mon_audit_status=1,ifnull(oa.cash,fr.cash),0) as real_pay,
if(fr.mon_audit_status=1,fr.cash,0) as need_pay,
if(fr.mon_audit_status=1,fr.cash-ifnull(oa.cash,fr.cash),0) as loss,
if(fr.mon_audit_status=0,fr.cash,0) as unpay,
fr.mon_audit_status
from backend.finance_report fr 
join tms.distribution_member dm
on fr.main_distribution_member_id = dm.distribution_member_id
join tms.distribution_station ds
on ds.distribution_station_id=dm.distribution_station_id
left join backend.order_account oa
on oa.order_code=fr.order_code and fr.order_arrived_time>DATE_FORMAT(DATE_SUB(CURRENT_DATE,INTERVAL 29 DAY),'%Y-%m-%d'))m
group by m.distribution_station_name,m.distribution_member_name,m.distribution_member_id
 

猜你喜欢

转载自wangfeiaini.iteye.com/blog/1707330