首页
题库
公司真题
专项练习
面试题库
在线编程
面试
面试经验
AI 模拟面试
简历
求职
学习
课程
专栏·文章
竞赛
搜索
我要招人
发布职位
发布职位、邀约牛人
更多企业解决方案
在线笔面试、雇主品牌宣传
登录
/
注册
一定能拿到好Offer
获赞
1
粉丝
1
关注
4
看过 TA
10
女
武汉大学
2021
产品经理
IP属地:北京
暂未填写个人简介
私信
关注
拉黑
举报
举报
确定要拉黑一定能拿到好Offer吗?
发布(32)
刷题
一定能拿到好Offer
02-23 17:17
产品经理
题解 | #获得积分最多的人(三)#
思路1自己想的,复杂版每个人的分数=sum(add)-sum(reduce)按照总积分 用窗口函数 添加一列dense_rank筛选dense_rank()值=1的数据 select t.user_id, t.name, t.total as grade_num from ( select distinct g.user_id, u.name, (ifnull(a.add_num,0) - ifnull(r.re_num,0)) as total, dense_rank()over(order...
0
点赞
评论
收藏
转发
一定能拿到好Offer
02-23 15:34
产品经理
题解 | #获得积分最多的人(一)#
思路1自己想的,比较复杂先按照user_id 计算每个人的总积分取max(总积分)聚合表,把总积分加到最后一列。在表里筛选 where 总积分 = 第2步的值(即最大值)select name 和总积分 select u.name, t.num_total as grade_num from user u right join ( select user_id, sum(grade_num) as num_total from grade_info ...
0
点赞
评论
收藏
转发
一定能拿到好Offer
02-23 14:30
已编辑
产品经理
题解 | #最差是第几名(二)#
搞不懂高赞的思路,所以就按自己的思路解出来了。虽然有点费劲,但比较好理解发现搞不出来的时候,就举例罗列一下数据,画图,会比较容易厘清思路思路构造两个表:①中位数位置m1、m2,②grade、number、累计数t_rank(按grade降序)、前一行的累计数before_rank比较表1、表2:中位数位置m1,m2 是否在 t_rank 和 before_rank之间。如果是,则select grade代码 select d.grade from( # 筛选出t_rank 大于中位数记录,增加一列「上一行的t_rank」 select c.grade...
0
点赞
评论
收藏
转发
一定能拿到好Offer
02-22 19:07
产品经理
题解 | #牛客的课程订单分析(五)#
题目要求在2025-10-15以后,如果有一个用户下单2个以及2个以上状态为购买成功的C++课程或Java课程或Python课程,那么输出1、这个用户的user_id2、这个用户满足前面条件的第一次购买成功的C++课程或Java课程或Python课程的日期first_buy_date3、这个用户满足前面条件的第二次购买成功的C++课程或Java课程或Python课程的日期second_buy_date4、这个用户(满足前面条件)购买成功的C++课程或Java课程或Python课程的次数cnt输出结果按照user_id升序排序思路 select user_id, first_b...
0
点赞
评论
收藏
转发
一定能拿到好Offer
02-22 18:08
产品经理
题解 | #牛客的课程订单分析(四)#
题目要求查询在2025-10-15以后,如果有一个用户下单2个以及2个以上状态为购买成功的C++课程或Java课程或Python课程,那么输出 1、这个用户的user_id 2、满足前面条件的第一次购买成功的C++课程或Java课程或Python课程的日期first_buy_date 3、满足前面条件的所有日期里购买成功的C++课程或Java课程或Python课程的次数cnt,并且输出结果按照user_id升序排序刚开始审错题了,搞复杂了反而通不过。一定要认真审题!!!!思路 select user_id, first_buy_date, # 从子查询里...
0
点赞
评论
收藏
转发
一定能拿到好Offer
02-22 16:34
产品经理
题解 | #牛客的课程订单分析(三)#
题目要求查询在2025-10-15以后,同一个用户下单2个以及2个以上状态为购买成功的C++课程或Java课程或Python课程的订单信息,并且按照order_info的id升序排序,以上例子查询结果如下:v1版错误代码思路:符合条件的用户 下过的所有订单审题错误了,因此无法通过 select o.* from order_info o left join ( select distinct user_id, count(id)over(partition by user_id) as order_count from order_i...
0
点赞
评论
收藏
转发
一定能拿到好Offer
02-22 16:16
产品经理
题解 | #牛客的课程订单分析(二)#
题目要求查询在2025-10-15以后,同一个用户下单2个以及2个以上状态为购买成功C++课程或Java课程或Python课程的user_id,并且按照user_id升序排序,以上例子查询结果如下:思路一:用子查询 计算每个用户的order数量,用where筛选 order数量>=2结果不行。因为子查询有多行 select user_id from order_info where ( select count(distinct id) as order_num from order_info group by user_id ) >= ...
0
点赞
评论
收藏
转发
一定能拿到好Offer
02-22 13:24
已编辑
产品经理
题解 | #考试分数(三)#
v1 想直接group by + order by + limit,结果做不出来v2 用窗口函数主要逻辑:用窗口函数 给每个language_id 组内 按score倒序后,标记序号rank_number筛选每个组里 rank_number =1和2,即第1名和第2名 (因为用的是dense_rank,因此如果有同值的情况也能查出来) select a.id, a.name, a.score from ( select g.id, l.name, g.score, dense_rank()ove...
0
点赞
评论
收藏
转发
一定能拿到好Offer
02-22 11:04
产品经理
题解 | #考试分数(二)#
v1 思路:当score>avg_scorev1 结果错误。原因:子查询不止一行,而是每个job一行avg_score select * from grade where score > ( select avg(score) as avg_score from grade group by job ) order by id asc v2 思路:聚合表,增加一列avg_score。对比score>avg_scorev2结果成功 select g1.* from grade g1 left join ( select...
0
点赞
评论
收藏
转发
一定能拿到好Offer
02-21 21:03
产品经理
题解 | #牛客每个人最近的登录日期(五)#
思路拆解1、判断 每个日期当天 「新用户的次日留存率」2、新用户次日留存率=当天的新用户数/第二天的新用户数做法拆解v1(没做出来)1、新增一列标注 新、老。当天的新用户数 count( case when is_new='新' )2、取所有新用户的id as new_id3、第二天的新用户数:date=第二天,count(user_id in 当天新用户new_id)做法拆解v2(做出来了)1、计算当天登录的新用户数 1)按照date = min(date) 查询出 新用户id和首次登录日期 2)给表加上一列 是否新老用户is_new 3)sum(is_new)2、计算 新...
0
点赞
评论
收藏
转发
一定能拿到好Offer
02-21 17:37
产品经理
题解 | #牛客每个人最近的登录日期(四)#
思路1筛选出所有新用户及其首日登录日期,count新用户个数 group by 日期但这样会导致过滤 新用户登录=0的日期,因为子查询只选出了 有新用户登录的日期发现无法通过。于是尝试思路2 # 如何判断当天登录的新用户:同一用户,date=min(date) select date, count(user_id) as new # 统计有多少新用户 from login where (user_id,date) in ( select user_id,min(date) from login group by user_id # 筛选...
0
点赞
评论
收藏
转发
一定能拿到好Offer
02-20 23:59
产品经理
题解 | #牛客每个人最近的登录日期(三)#
写的好复杂,看到评论区那些简单的代码,有点自闭了我的脑子有点转不过弯来,为啥可以这么简单唯一欣慰的是,至少写出来了 # 1、选出用户id 及 其首次登录时间 # 2、确定出 用户id及 首次登录次日 # 3、user_id和date都符合2的条件,则计算 第二日留存的人数 # 4、确定所有新用户人数 # 5、次日留存人数/新用户总人数 # 第五步 select round(sum(a.count_next)/sum(b.count_all),3) as p from ( # 第三步 select user_id,count(user_id) as count_next from login...
0
点赞
评论
收藏
转发
一定能拿到好Offer
02-20 16:42
产品经理
题解 | #异常的邮件概率#
先列大思路:找出 receive_id和send_id 都是正常用户的id行(is_blacklist=0)统计type=completed 的次数/所有次数解法1是我自己写的第一版。整体比较冗长 select a.date,round(1-b.count/a.count,3) as p from ( select date,count(*) as count from email where send_id not in ( select id from user where is_blacklist=1 ) ...
0
点赞
评论
收藏
转发
一定能拿到好Offer
2020-08-04 19:26
产品经理
#Shopee# #产品# #2021校招# 有同学面了虾皮hr面吗?hr跟我说九月下旬才能出结果。想问下有没有类似的同学😂😂😂这就有点久了😓
投递虾皮信息等公司7个岗位
互联网求职圈
0
点赞
评论
收藏
转发
一定能拿到好Offer
2020-06-29 11:19
产品经理
#实习# 实习好水 感觉有点不想继续了 每天找活干但是又不给活 就坐着玩手机 好无聊啊 。。
0
点赞
评论
收藏
转发
1
2
3
工具箱
TA的圈子
暂未加入圈子
TA的圈子
TA的笔记
暂无笔记
TA的笔记
登录
0
天
已登录
0
天
连续登录
0
人
今日访客
牛客网
牛客企业服务