select date , round(count(case when type = 'no_completed' then 1 end) / count(*),3) as p from (select send_id, receive_id, type, date from email where send_id != (select id from user where is_blacklist = 1) and receive_id != (select id from user where is_blacklist = 1) ) temp group by date