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

异常的邮件概率

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

知识点

  1. 首先需要排除所有异常用户,因此内连接两个表筛选条件为is_blacklist = 0,按照日期进行分组
  2. 概率结果显示三位小数,使用round(计算概率,3)
  3. 概率计算使用case when,completed是0否则为1进行奇数求和,除以计数type出现次数

代码

select date, 
round(
    sum(case e.type 
    when 'completed' then 0
    else 1 end)*1/count(e.type),3)as p
from email as e
join user as u1
on (e.send_id = u1.id
    and u1.is_blacklist = 0)
join user as u2
on (e.receive_id = u2.id
    and u2.is_blacklist = 0)
    group by e.date
    order by e.date
全部评论
逻辑是对的,可是运行结果不正确
点赞 回复 分享
发布于 2022-08-10 14:58

相关推荐

04-13 18:10
门头沟学院 Java
想熬夜的小飞象在秋招:被腾讯挂了后爸妈以为我失联了
点赞 评论 收藏
分享
04-11 21:31
四川大学 Java
野猪不是猪🐗:(ja)va学弟这招太狠了
点赞 评论 收藏
分享
评论
1
收藏
分享

创作者周榜

更多
牛客网
牛客企业服务