题解 | #根据指定记录是否存在输出不同情况#

根据指定记录是否存在输出不同情况

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

select uid,level,cnt_incom_0,cnt_incom,rate_incom,cnt_t,
max(cnt_incom_0) over() as max_cnt_incom_0 from(
select distinct a.uid,a.level,
count(if(a.level=0,b.id,null)) over(partition by a.uid)
- count(if(a.level=0,b.score,null)) over(partition by a.uid) as cnt_incom_0,
count(b.id) over(partition by a.uid)
- count(b.score) over(partition by a.uid) as cnt_incom,
count(b.id) over(partition by a.uid) as cnt_t,
round( (count(b.id) over(partition by a.uid)
        -count(b.score) over(partition by a.uid))
      /count(b.id) over(partition by a.uid) ,3) as rate_incom
from user_info a
left join exam_record b on a.uid=b.uid )c)d
where level>=0
and level<=(case when max_cnt_incom_0>2 then 0 else 100 end)
and cnt_t>=(case when max_cnt_incom_0>2 then 0 else 1 end)
order by rate_incom
全部评论

相关推荐

10-21 00:37
已编辑
门头沟学院 C++
小浪_Coding:你问别人,本来就是有求于人,别人肯定没有义务免费回答你丫, 有点流量每天私信可能都十几,几十条的,大家都有工作和自己的事情, 付费也是正常的, 就像你请别人搭把手, 总得给人家买瓶水喝吧
点赞 评论 收藏
分享
迷茫的大四🐶:你这个拿去投央国企吧,投私企包过不了的
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

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