题解 |试试三表左连

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

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

相关推荐

不愿透露姓名的神秘牛友
昨天 10:39
点赞 评论 收藏
分享
不愿透露姓名的神秘牛友
07-07 12:04
毕业生招你惹你了,问一个发薪日来一句别看网上乱七八糟的你看哪个工作没有固定发薪日扭头就取消了面试就问了一句公司都是这个态度吗还搞上人身攻击了...
程序员小白条:呃呃呃,都还没面试,我都不会问这么细,何况通不通过,去不去都另说,你没实力和学历的话,在外面就这样,说实话没直接已读不回就不错了,浪费时间基本上
点赞 评论 收藏
分享
流浪的神仙:无恶意,算法一般好像都得9硕才能干算法太卷啦
点赞 评论 收藏
分享
MinJerous:虽然我一直说 计算机不怎么卡学历 但是至少得一本
点赞 评论 收藏
分享
评论
9
1
分享

创作者周榜

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