题解 | #筛选限定昵称成就值活跃日期的用户#
筛选限定昵称成就值活跃日期的用户
https://www.nowcoder.com/practice/2ed07ff8f67a474d90523b88402e401b
select
*
from
(
select
uid
,case when substring(start_time,1,7) = '2021-09' or substring(submit_time,1,7) = '2021-09' then nick_name else null end nick_name
,achievement
from
(
#以用户信息表作为主表,试卷作答记录表和练习作答记录表连接,并且筛选出试卷作答和练习作答的最近一次时间
select
ui.uid uid
,nick_name
,start_time
,pr.submit_time submit_time
,achievement
,row_number()over(partition by uid order by er.start_time desc) ranker
,row_number()over(partition by uid order by pr.submit_time desc) rankpr
from user_info ui left join exam_record er
on ui.uid = er.uid
left join practice_record pr
on ui.uid = pr.uid
)table1
where ranker = 1
and rankpr = 1
and achievement >= 1200
and achievement <= 2500
and nick_name like '牛客%号'
)table2
where nick_name is not null



查看24道真题和解析