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