帝王血统的蚂蚱
帝王血统的蚂蚱
全部文章
题解
归档
标签
去牛客网
登录
/
注册
帝王血统的蚂蚱的博客
全部文章
/ 题解
(共93篇)
题解 | #获得积分最多的人(二)#
首先新建个表存积分最大值,方法是根据user_id分组汇总,sum出每组grade_num总和,然后排序选出最大的一个,所以表里只有一个数,把这部分放在子查询也可以。 然后连接user和grade_info两个表以取得所需字段,根据用户分组汇总并得到每组grade_num总和,然后限制grade_n...
Mysql
2021-11-04
0
302
题解 | #获得积分最多的人(一)#
将user和grade_info连接,然后按照name分组汇总,用sum算每个人总积分。将结果按照总积分逆排序并限制为排第一的结果。 select u.name, sum(g.grade_num) as grade_sum from user as u, grade_info as g where ...
Mysql
2021-11-04
0
486
题解 | #最差是第几名(二)#
气死我了少打一个括号debug半小时!!! 首先建新表存一下按等级顺序滚动累加的总人数,然后再加一列总人数方便之后使用。这里要说一下窗口函数可以不带任何参数直接空括号,这样就是对整个表进行聚合函数运算但又可以把结果加在每一列。 然后从原表中选出grade并限制grade要对应在中位数的grade。首...
Mysql
2021-11-02
0
350
题解 | #最差是第几名(二)#
气死我了少打一个括号debug半小时!!! 首先建新表存一下按等级顺序滚动累加的总人数,然后再加一列总人数方便之后使用。这里要说一下窗口函数可以不带任何参数直接空括号,这样就是对整个表进行聚合函数运算但又可以把结果加在每一列。 然后从原表中选出grade并限制grade要对应在中位数的grade。首...
Mysql
2021-11-02
0
283
题解 | #最差是第几名(一)#
题目挺花哨,其实就是用窗口函数求滚动sum select grade, sum(number) over (order by grade) as t_rank from class_grade
Mysql
2021-11-02
0
211
题解 | #实习广场投递简历分析(三)#
拉两个新表,分别存2025年和2026年每月每种语言的cnt。然后将两个表连接起来,这里要注意的是有两个连接键,job和月份。所以要把月从日期里提取出来 with temp1 as (select job, date_format(date, "%Y-%m") as mon, sum(num) a...
Mysql
2021-11-02
0
284
题解 | #实习广场投递简历分析(三)#
拉两个新表,分别存2025年和2026年每月每种语言的cnt。然后将两个表连接起来,这里要注意的是有两个连接键,job和月份。所以要把月从日期里提取出来 with temp1 as (select job, date_format(date, "%Y-%m") as mon, sum(num) a...
Mysql
2021-11-02
0
281
题解 | #实习广场投递简历分析(二)#
用date_format将date的格式变成"%Y-%m"并设置昵称mon,根据job,mon分组汇总并用sum计算每组num总和。然后根据mon和cnt降序排序。 select job, date_format(date, "%Y-%m") as mon, sum(num) as cnt from...
Mysql
2021-11-01
0
304
题解 | #实习广场投递简历分析(一)#
聚合函数sum加group by得出以job分组每组num的总和,然后限制date在2025年。我这里用的办法比较原始,year(date)可以直接提取日期的年部分。 select job, sum(num) as cnt from resume_info where date >= "202...
Mysql
2021-11-01
0
399
题解 | #牛客的课程订单分析(七)#
首先还是根据条件限制从原表中选出temp并加上根据user_id分组后每组的count。 然后将temp和client表通过left join连接并限制cnt>=2。用if进行条件判断,在client name中补齐groupbuy。然后count()搭配窗口函数增加一列以client_id...
Mysql
2021-11-01
0
294
首页
上一页
1
2
3
4
5
6
7
8
9
10
下一页
末页