风雪行
风雪行
全部文章
分类
题解(11)
归档
标签
去牛客网
登录
/
注册
风雪行的博客
全部文章
(共24篇)
题解 | #平均播放进度大于60%的视频类别#
平均播放进度大于60%的视频类别: 开始想了半天, 代码也写出来了, 但是测试用例死活就是通过不了 select vi.tag, concat(round(avg( if((vl.end_time - vl.start_time) > vi.duration, 1, (v...
Mysql
Oracle
2022-06-09
9
964
题解 | #各个视频的平均完播率#
1. 注意点: timestampdiff(format, start, end) format为second, day, hour...都行, 2. 直接时间相减, 个人感觉不太严谨. 尽量避免直接使用时间加减, 容易出问题 select uv.video_id, round(sum(if...
Mysql
Oracle
2022-06-08
5
370
题解 | #浙大不同难度题目的正确率#
浙江大学不同难度题目正确率 分析: 浙江大学, 不同难度, 正确率; 题目只需要浙江大学的, 所以可以连表后直接在where中进行过滤, 不同难度正确率,根据难度分组, 该难度答对的题数/该难度总题数即可 if(qpd.result='right', 1, 0)这样其实代码更简洁, 但是个人...
Mysql
Oracle
2022-06-07
3
275
题解 | #统计复旦用户8月练题情况#
题意: 统计复旦8月练题情况 注意点: 如果直接用left join question_practice_detail 后在where中进行过滤month(qpd.date)=8, 则学生信息中,只要8月份没有答题的也会被过滤掉 可以使用 left join question_practice_d...
Mysql
Oracle
2022-06-07
4
212
题解 | #统计每个学校的答过题的用户的平均答题数#
常规题 需要注意的地方: 只能用 question_practice_detail 连接 user_profile 表, 因为存在用户表不一定有答题记录的情况 select up.university, count(1) / count(distinct qpd.device_id...
Mysql
Oracle
2022-06-07
3
199
题解 | #浙江大学用户题目回答情况#
因为涉及到SQL优化的问题, 所以具体列出来 方法一: 先用user_profile连接question_practice_detail然后再where进行过滤, 最后排序即可 select up.device_id, ...
面经
MySQL
数据分析师
面试题目
2022-05-31
7
473
题解 | #计算男生人数以及平均GPA#
select # 这里用distinct 排除重复device_id情况 count(distinct device_id) as male_num, avg(gpa) as avg_gpa from u...
MySQL
数据分析工程师
2022-05-31
2
330
题解 | #列表 A,B中,对B中b1,b2对应同一个A中的a1的情况计数#
本题是比较经典的运用题,现实工作中比较常见,思路和方法有很多,以下仅供参考: 方法一:使用group_concat函数,找出由author_id分组合并issue_type后的字符串中同时包含'Education'和'Career'的人数。需要使用locate函数,当字符串不存在于给定的字符中时,结...
Mysql
2022-01-19
17
627
题解 | #注册当天就完成了试卷的名单第三页#
注意: 是找工作为算法的, 在注册当天完成算法试卷的人, 按所有考试得分的最高分排名, 这是个易错点, 直接根据 job='算法', tag='算法', 过滤score列会得到算法考试的最高分, 而不是所有考试的最高分. select aa.uid, aa.level, aa.reg...
Mysql
2021-11-26
4
286
题解 | #筛选限定昵称成就值活跃日期的用户#
具体思路: 先用窗口函数将不同级别的总人数统计出来, 优良中差这个直接case when 即可判断 这里计算比例我使用的是count()/avg(total),不是很明白为什么可以count() / total select level, score_grade, # 这里还能 co...
Mysql
2021-11-26
2
302
首页
上一页
1
2
3
下一页
末页