Dateron
Dateron
全部文章
分类
题解(44)
归档
标签
去牛客网
登录
/
注册
Dateron的博客
全部文章
(共62篇)
题解 | #平均播放进度大于60%的视频类别#
= select tag ,concat(cast(round(avg(jd)*100,2) as char),'%') as avg_play_progress from ( select tvl.* ,tvi.duration ,tvi.tag ,tim...
2023-02-27
0
268
题解 | #各个视频的平均完播率#
# 条件:2021年,则 SUBSTR(start_time,1,4)='2021' # tb_user_video_log left join tb_video_info,拿到视频时长 # 视频id分组,如果播放时长>=视频时长,则算完播 select video_id ,r...
2023-02-27
0
274
题解 | #获得积分最多的人(三)#
# 求总积分,根据表可知,有增加,有减少,需要将增加总额和减少总额放到同一行,做减法后可得总积分 # 1、积分表 join 用户表,join 结果 id 和 name 分组,利用 case when 求增加总额和减少总额,放到同一行,并相减得出总积分,并利用窗口函数排序总积分,注意,这里已经是分组后...
2023-02-27
0
282
题解 | #实习广场投递简历分析(三)#
# 字符串截取,将年份、月份、年+月分别截取出来,根据年份将数据分为2025和2026,分别根据job和年月分组,聚合简历数 # 将2025和2026的分组聚合结果,根据job和月份做join键,join起来,再根据题目意思排序即可 with t_2025 as ( select job ...
2023-02-27
0
305
题解 | #牛客的课程订单分析(五)#
# 条件:课程范围为('C++','Python','Java'),日期条件为2025-10-15之后,状态为 completed # 1、先用窗口函数,用户分组,排序购买日期,以及计数购买次数。注意,这里排序只能用 rank(),因为值相等时不会重复,不会产生空位,row_number()因为值相...
2023-02-27
0
263
题解 | #考试分数中位数(五)#
# 写完有点嫌弃自己,不知道为啥写了这么复杂,合理怀疑是自己水平太菜了 # 冷静了一下,思路该写还得写 # 1、科目内窗口函数分组排序分数,涉及中位数,奇数和偶数算法不同,所有再算一个每个科目的考试记录数 # ,根据考试记录数,标记该科目考试记录数是奇数还是偶数 # 2、考试记录数为奇数的科目:对应...
2023-02-23
0
290
题解 | #牛客每个人最近的登录日期(五)#
# 查询每个日期新用户的次日留存率 # 1、因为有新用户的条件,所以用user_id分组,求登录日期的最小值,则为用户的首次登录日期; # 2、用上述结果,left join 登录表,用 user_id 连接,这样,每个用户的首次登录数据就可以和后续每次登录记录匹配上; # 3、用2的登录日期,减去...
2023-02-23
0
399
题解 | #汇总各个部门当前员工的title类型的分配数目#
# 题目想获取,每个部门的不同title的分配人数 # 分组:部门编号、部门名称,titile # 聚合:员工编号 # 思路:将3个表 join 成大宽表,group by 即可,titles 为左表 select dem.dept_no ,dep.dept_name ,t...
2023-02-23
0
245
题解 | 员工当前薪水比其manager当前薪水高的相关信息
# 条件:当前员工,则所有表的 to_date='9999-01-01' # 思路:多表连接,将员工,部门,部门领导,员工薪水和部门领导薪水放到一行数据中,取员工薪水>部门领导薪水的记录即可 with temp as ( select dep.emp_no ,dep.dept_...
2023-02-23
0
254
题解 | #查找在职员工自入职以来的薪水涨幅情况#
# 条件:在职员工 # 薪水涨幅,根据表可知,有一个入职薪水,也就是 from_date=hire_date 的薪水记录,有一个最新的薪水记录,也就是 to_date='9999-01-01' 的薪水记录,涨幅由后者减去前者可得。由于,一个人可能多次调整薪水,则根据员工编号分组,由窗口函数求一个 t...
2023-02-23
0
336
首页
上一页
1
2
3
4
5
6
7
下一页
末页