题解 |试试三表左连

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

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

with t as
(
    select 
    t.uid,
    t.nick_name,
    t.achievement,
    t1.start_time,
    t2.submit_time
    from user_info t join exam_record t1 on t.uid = t1.uid
                     left join practice_record t2 on t2.uid = t1.uid
)
select 
uid,
nick_name,
achievement
from t
where achievement between 1200 and 2500 and nick_name like '牛客%号'
group by uid
having date_format(max(start_time),"%Y%m")=202109 or date_format(max(submit_time),"%Y%m")=202109
全部评论
你的联结也是乱的
1 回复 分享
发布于 2022-10-09 10:23 广东
请问一下为啥第一个用INNER JOIN 第二个要用LEFT JOIN呀?
1 回复 分享
发布于 2022-06-21 11:24
想问下groupby有什么作用?既没有count也没有sum为什么还有group
点赞 回复 分享
发布于 2023-04-26 11:01 广东
你的逻辑错了,题目要求最近一次活跃(答题或作答试卷)在2021年9月的用户信息。
点赞 回复 分享
发布于 2022-10-09 10:17 广东
我有个疑问,如果有用户没有在考试中出现,而只是在练习题记录里出现了,而且也都满足给出的条件,你这个是不是就不合理了。
点赞 回复 分享
发布于 2022-08-08 12:35
请问,uid=1002,计算了一次笛卡尔积是么?
点赞 回复 分享
发布于 2022-04-19 19:06

相关推荐

Twilight_m...:经典我朋友XXXX起手,这是那种经典的不知道目前行情搁那儿胡编乱造瞎指导的中年人,不用理这种**
点赞 评论 收藏
分享
评论
9
1
分享

创作者周榜

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