题解 | 异常的邮件概率

异常的邮件概率

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

select a.date,
round(count(case when a.type='no_completed' then 1 else null end)/count(a.id),3) as p

from(
    select e.id,e.send_id,e.receive_id,e.type,e.date 
    from email e 
    left join user u on e.send_id = u.id 
    where u.is_blacklist =0 
)a
join(select e.id,e.send_id,e.receive_id,e.type,e.date 
    from email e 
    left join user u on  e.receive_id = u.id
    where u.is_blacklist =0 
)as b
on a.id = b.id

group by a.date
order by a.date

关键在于写两个子查询a和b,a取出正常的发件人的信息,b取出正常的收件人的信息,然后将两个表再通过id字段相连接,再计算概率

全部评论

相关推荐

被加薪的哈里很优秀:应该继续招人,不会给你留岗位的
点赞 评论 收藏
分享
评论
1
收藏
分享

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务