我的头上有犄角*2
我的头上有犄角*2
全部文章
分类
题解(23)
归档
标签
去牛客网
登录
/
注册
我的头上有犄角*2的博客
全部文章
(共33篇)
题解 | #试卷完成数同比2020年的增长率及排名变化#
相比前一题,虽然都是困难,但这一题简单多了。 select tag,exam_cnt_20,exam_cnt_21,concat(round(100*(exam_cnt_21-exam_cnt_20)/exam_cnt_20,1),'%') growth_rate, exam_cnt_rank_20...
Mysql
2022-05-12
0
187
题解 | #近三个月未完成试卷数为0的用户完成情况#
with a as( select uid,exam_id,submit_time, dense_rank()over(partition by uid order by date_format(start_time,'%Y-%m-01') desc) rk fr...
Mysql
2022-05-12
0
134
题解 | #连续两次作答试卷的最大时间窗#比较臃肿,但能过
一开始使用day,但跨月的时候会出问题。 所以使用dayofyear。再锁定year在2021年。 select uid,days_window,avg_exam_cnt from ( select uid,days_window,dense_rank()over(partition by uid ...
Mysql
2022-05-12
0
331
题解 | #第二快/慢用时之差大于试卷时长一半的试卷#
升序和降序各给数据算一次排序。 自连接,使用两种顺序为2的做题时间相减 ID降序。 with a as(( select e1.exam_id,e1.release_time, timestampdiff(minute,start_time,submit_time) diff, dense_...
Mysql
2022-05-11
0
179
题解 | #每类试卷得分前3名#又是和group by 报错斗智斗勇的一题
一开始没理解题意,尝试了一种很复杂的方法,发现求不出结果。 后来发现尝试了一下直接在窗口函数中使用max,min统计,发现可行(于是打开了新世界的大门。 结果将本地代码复制到牛客网时把第一个max(score)的max去掉了。就陷入了疯狂报错。对比了评论区的大佬们才知道,一定要有max才可以。 se...
Mysql
2022-05-11
0
206
题解 | #每个6/7级用户活跃情况#
这道题一次过。 这题难点在于,最后求和时的有两个取值的时间范围, 第一个结果是不分年。总的活跃月份 后几个结果都是要2021年的值。 步骤一:将题目和测试两个表合并,分别给与一个字段标签。方便后续统计。需要注意上下两表的列数要对齐(看了眼答案,好像不需要像我这样多产生一列临时列) 步骤二:统计数量,...
Mysql
2022-05-11
0
225
题解 | #满足条件的用户的试卷完成数和题目练习数#
错了4次。每一次都是错在最后的结果。 逻辑不难,思路是先找出目标用户。再连两次表。 前三次错误:最后order by 的时候写错列。以及没考虑到两份题目均要在2021年的情况。 第四次错误:没考虑到可能有未完成。 最后通过结果: #高难度、SQL、平均分大于80,用户等级为7,2021年有试卷完成记...
Mysql
2022-05-11
0
226
题解 | #分别满足两个活动的人#这题的难度不应该是中等,比有些较难和困难的还麻烦点
解题时犯了一个错误。差点被group by 分组后的数据误导 思路是按照题目要求的条件分别求出符合两种结果的数据最后再合并结果。 条件1:每次测试成绩>=85,也就是测试次数=获得85分的次数。 条件2:Hard难度、分数大于80、解题时间小于30分钟。 题目要求的是2021年内,提交后发现不...
Mysql
2022-05-11
0
209
题解 | #月均完成试卷数不小于3的用户爱作答的类别#要求的是每月>=3的用户
一开始没多想,看了看题目,求答题人数>=3。连表,求职,倒序结束。 注意点:要求的是每月>=3的用户,而不是全部答题>=3 第一次报错: select tag,count(tag) tag_cnt from exam_record e1 join (select uid,su...
Mysql
2022-05-11
0
262
题解 | #未完成试卷数大于1的有效用户#错了两次终于对了
这道题目用到的数据合并之前我比较陌生,所以专门写一下。加深印象。 步骤一、数据合并: 刚看到题目的时候,大概就知道要用concat或group_concat。但查了一下,发现是两者皆要用。 concat,是以列为单位将数据合并。 group_concat,是以行为单位将数据合并。所以concat在括...
Mysql
2022-05-10
1
266
首页
上一页
1
2
3
4
下一页
末页