SELECT a.date,ROUND(have/sum,3) AS 'p'
FROM
(SELECT date,COUNT(*) AS 'have' FROM email WHERE type='no_completed' 
 AND send_id NOT IN (SELECT id FROM user WHERE is_blacklist='1') 
 AND receive_id NOT IN (SELECT id FROM user WHERE is_blacklist='1') 
 GROUP BY date
) a 
JOIN 
(SELECT date,COUNT(*) AS 'sum' FROM email 
 WHERE send_id NOT IN (SELECT id FROM user WHERE is_blacklist='1') 
 AND receive_id NOT IN (SELECT id FROM user WHERE is_blacklist='1') 
 GROUP BY date
) b
ON a.date=b.date
ORDER BY date