分组统计sql
case when + group by
#sum和case结合,实现分段统计,如果month=1,
#sum+=amount的值,否则
# sum 求和 (顺序过滤)
SELECT
SUM(CASE WHEN m.prescription_source = 1 THEN o.pay_amount ELSE 0 END ) as d1 ,
SUM(CASE WHEN m.prescription_source != 1 or m.prescription_source is NULL THEN o.pay_amount ELSE 0 END ) as d2 ,
SUM( o.pay_amount ) d3
FROM
mos_drug_main m
LEFT JOIN mos_drug_prescription p ON m.x_id = p.main_id
LEFT JOIN mos_drug_order o ON o.main_id = m.x_id
LEFT JOIN mos_drug_store s ON s.x_id = m.store_id
LEFT JOIN pharmaceutical_company c ON c.id = s.pharmaceutical_company_id
WHERE
m.STATUS = 1
AND o.`status` = 2
AND m.pres_organ ='YCRMYY'