题解 | #筛选限定昵称成就值活跃日期的用户#

筛选限定昵称成就值活跃日期的用户

https://www.nowcoder.com/practice/2ed07ff8f67a474d90523b88402e401b

1. 首先筛选出 试卷区和题目区最近一次的活跃月份处于2021年9月的活跃用户。然后从user_Info 表中筛选用户。

# 筛选限定昵称成就值活跃日期的用户  

        select UI.uid,
               UI.nick_name,
               UI.achievement
          from user_info UI 
          where UI.nick_name like '牛客%号' 
            and UI.achievement between 1200 and 2500 
            and UI.uid in (
        select A.uid 
          from (
        select ER.uid,
               ER.start_time exam_time,
               PR.submit_time prac_time,
               row_number() over(partition by ER.uid order by ER.start_time desc) rk1,
               row_number() over(partition by PR.uid order by PR.submit_time desc) rk2 
          from exam_record ER left join practice_record PR using(uid) 
        union 
        select PR.uid,
               ER.start_time exam_time,
               PR.submit_time prac_time,
               row_number() over(partition by ER.uid order by ER.start_time desc) rk1,
               row_number() over(partition by PR.uid order by PR.submit_time desc) rk2 
          from exam_record ER right join practice_record PR using(uid) 
          ) A where (rk1=1 and date_format(A.exam_time,'%Y%m')='202109') or 
             (rk2=1 and date_format(A.prac_time,'%Y%m')='202109')
             
             ) 

全部评论

相关推荐

点赞 评论 收藏
分享
09-19 13:59
门头沟学院 Java
用微笑面对困难:Trae一下,如果真成了,他用了直接发字节起诉代码版权,,这个代码不商用是没问题的如果没成也是情理之中的。
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

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