题解 | #异常的邮件概率#
异常的邮件概率
http://www.nowcoder.com/practice/d6dd656483b545159d3aa89b4c26004e
首先用not in排除在黑名单的邮件, 然后用case 计算不成功的邮件数, 最后排序
select date, round(sum(case type when 'completed' then 0 else 1 end) / count(type), 3) as p
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
order by date;