select a.date,round(sum(case a.type when'completed' then 0 else 1 end )*1.0/count(a.type),3)as p
from (select e.send_id,e.receive_id,e.type,e.date,u1.is_blacklist as b1,u2.is_blacklist as b2 from email as e
join user as u1
on e.send_id=u1.id and u1.is_blacklist=0
join user as u2
on e.receive_id=u2.id and u2.is_blacklist=0) as a
group by a.date order by a.date
如果说我用leftjoin 会出现null 用这边的算***给当成是一个no_completed 出现问题