题解 | #异常的邮件概率#

异常的邮件概率

http://www.nowcoder.com/practice/d6dd656483b545159d3aa89b4c26004e

-- 1.排除所有黑名单用户(1.不在用户表的用户,2.在黑名单列中=1的黑名单用户) -- 2.计算邮件失败率(转化:成功邮件=0,失败邮件=1) -- 成功率=avg(失败邮件)


SELECT 
e.date,
round(
    avg(
        case e.type
        when "completed" then 0
        else 1
        end
        )-- 内层函数用于转化文本到数值方便聚合函数avg 求平均值(邮件发送的失败率,邮件成功=0,邮件失败=1)
,3)-- 外层函数用于保留到小数点后面3位
from    email e
join user u1 on e.send_id=u1.id and u1.is_blacklist=0 -- 发件人不在黑名单
join user u2 on e.receive_id=u2.id and u2.is_blacklist=0 -- 收件人不在黑名单
GROUP by e.date
order by e.date
全部评论

相关推荐

不愿透露姓名的神秘牛友
11-21 19:05
面试官_我太想进步了:混学生会的,难怪简历这么水
点赞 评论 收藏
分享
牛客101244697号:这个衣服和发型不去投偶像练习生?
点赞 评论 收藏
分享
点赞 收藏 评论
分享
牛客网
牛客企业服务