Master_zx
Master_zx
全部文章
分类
题解(16)
归档
标签
去牛客网
登录
/
注册
Master_zx的博客
全部文章
(共89篇)
题解 | #未完成率较高的50%用户近三个月答卷情况#
从这道题目本身看,难点不是很多,个人感觉最关键的就是如何理解未完成率较高的50%用户,这也卡了我蛮久。 通过观察发现,这个未完成率前50%的用户的计算就是先得到各个用户总的完成率然后进行排序,根据排名进行筛选,在这里我遇到了一个问题,如何对这前50%的用户进行筛选,一开始我用的是dense_rank...
2022-12-08
0
412
题解 | #近三个月未完成试卷数为0的用户完成情况#
本题思路首先是要查询出近三个有作答记录月份没有出现试题未完成记录的用户,而后根据查询到的用户进行子查询得到进行最后查询所需的数据。本题的要点如下: 利用dense_rank()over()函数筛选出用户作达记录中近三个月份的数据; 利用group by函数进行聚合,计算start_time字段以及...
2022-11-30
0
402
题解 | #连续两次作答试卷的最大时间窗#
本题我的思路是把它拆分为两部分,一部分是计算每个用户连续作答的最大时间窗口,另一部分是计算每个用户平均每天做多少套试题。 关于第一部分时间窗口的计算,有几个要点: 必须是连续两次作答的时间窗; 时间限制在2021年; 每套试题有作答记录即...
Mysql
2022-10-23
0
382
题解 | #每类试卷得分前3名#
本题考查要点包括:多表连接、聚合查询、窗口函数、排序函数 思路步骤:先使用上述各类函数查询出所需的字段包括排序字段,之后再对排名进行筛选即可。 select // ⑥ 查询最终所需字段 tag, uid, ran...
Mysql
2022-10-03
0
387
题解 | #满足条件的用户的试卷完成数和题目练习数#
这道题实际可以拆解为两道类似的题目,只要理解了其中的一道,问题就解决了。其中一道是:请你找到高难度SQL试卷得分平均值大于80并且是7级的红名大佬,统计他们的2021年试卷总完成次数; 另一道是:请你找到高难度SQL试卷得分平均值大于80并且是7级的红名大佬,统计他们的2021年题目总练习次数...
Mysql
2022-09-30
0
378
题解 | #分别满足两个活动的人#
看到本题需要两个不同的字段纵向合并,第一反应是分别找出类别1对应的用户以及类别2对应的用户,然后进行union合并。这样拆解开来本题其实可以分为独立的两小题, 首先是找出类别1对应的用户,这个较简单,只需分组聚合求得每个用户最低得分超过85分的对象即可; 其次,对于类别2用户的查询,处理...
Mysql
2022-09-26
0
346
题解 | #每个题目和每份试卷被作答的人数和次数#
本题考察点包括两表纵向连接、分表排序,这道题最后的分表排序是参考其他答主完成的,但是感觉逻辑不是很准确,待解释完下列代码后po出疑问。 (select distinct exam_id tid, &nbs...
Mysql
2022-09-24
0
359
题解 | #作答试卷得分大于过80的人的用户等级分布#
本题考查点包括多表合并、分组聚合等,思路较为简单,结合代码解析如下: select level, count(distinct t1.uid) level_cnt // ④ 查询人数使用去重操作 from ...
Mysql
2022-09-24
0
421
题解 | #试卷发布当天作答人数和平均分#
本题考察点包括分组聚合、去重计数、多表连接、子查询、日期函数的使用等,也是较为综合的题目,同样根据代码梳理思路: select t1.exam_id,count(distinct t1.uid) uv,round(avg(score),1) avg_sco...
Mysql
2022-09-21
0
446
题解 | #月均完成试卷数不小于3的用户爱作答的类别#
本题知识点包括多表连接、分组聚合、子查询,代码及注释如下: select tag,count(start_time) tag_cnt from exam_record t1 left join examination...
Mysql
2022-09-20
0
398
首页
上一页
1
2
3
4
5
6
7
8
9
下一页
末页