-- 首先找到正常用户,然后根据日期分组,最后用sum(IF)去求失败概率
WITH white_user AS(
SELECT DISTINCT id
FROM user
WHERE is_blacklist = '0'
)
SELECT
date,
ROUND(SUM(IF(type = 'no_completed',1,0))/COUNT(*),3) p
FROM email
WHERE send_id IN(
SELECT id
FROM white_user
)
AND receive_id IN(
SELECT id
FROM white_user
)
GROUP BY date

京公网安备 11010502036488号