Khan201803011945114
Khan201803011945114
全部文章
题解
归档
标签
去牛客网
登录
/
注册
Khan201803011945114的博客
全部文章
/ 题解
(共24篇)
题解 | #分析牛客订单三#
思路如下:1.本题思路仍然简单,使用子查询查找满足条件的user_id2.在外层查询中查找user_id 属于子查询中的user_id 这样就自然满足了 次数>23.外层查询中仍然需要限定时间状态和名字三个条件 select * from order_info where user_id in...
Mysql
2021-09-27
0
356
题解 | #牛客课程订单分析二#
本题思路简单:1.首先选出所有符合条件的数据即利用where语句,选出10-15以后的,订单状态为成功的,以及语言类型属于三类之一的2.进而利用groupby 对user_id分组,使用having语句选出计数>=2的即可 select user_id from order_info whe...
Mysql
2021-09-27
0
472
题解 | #考试分数五#
常规思路:1.首先获取中位数的位置 (上一题) 是两列 select job,round(count(id)/2) s ,round((count(id)+1)/2) e from grade group by job 2.获取每一个分数在job内的排名(使用窗口函数rank) 是一列 selec...
Mysql
2021-09-26
1
466
题解 | #考试分数三#
本题使用窗口函数会很方便思路如下:1.首先利用窗口函数获取每一种语言下的成绩排名(注:这里要用dense_rank而不是rankps:dense_rank与rank()用法相当,但是有一个区别:dense_rank在处理相同的等级时,等级的数值不会跳过。rank则跳过。 比如rank是 1224 d...
Mysql
2021-09-26
5
618
题解 | #反转链表#
# -*- coding:utf-8 -*- # class ListNode: # def __init__(self, x): # self.val = x # self.next = None class Solution: # 返回ListNo...
Python3
2021-09-26
67
5071
题解 | #高于平均分数 不使用链接#
思路如下:1.首先子查询 得到每个职业的平均成绩select job,avg(score) avg_s from grade group by job2.查询grade中的id,job和分数,要求同job下分数大于子查询中的avg3.最后利用id排序即可select id,g.job,score f...
Mysql
2021-09-26
0
335
题解 | #求每一天的次日留存率#
思路如下:本题跟前面的一样,需要列出留存率为0的,所以最后还需要和login做一次链接先看子查询1.select user_id,min(date) t_date from login group by user_id 通过子查询找到每个用户第一次登陆的时间2.(SELECT t.t_date,ro...
Mysql
2021-09-26
0
479
题解 | #统计新用户#
思路如下:1.首先 通过两个group by 第一个groupby获得每个新用户的登陆时间第二个groupby 获得每个时间的新用户个数 注:这里只会统计>0的,所以在后面还要用case取=0的(select date,count(user_id) cnt from(select user_i...
Mysql
2021-09-26
0
389
题解 | #次日留存率#
思路如下:1.首先利用groupby 获取新用户首次登陆的时间(select user_id,min(date) date from logingroup by user_id) t22.利用链接把每个用户登陆的时间和初次登陆的时间连接起来3.计算用户登陆的时间是否比首次登陆时间大1天,如果是则是次...
Mysql
2021-09-26
0
402
题解 | #查找最后登陆时间#
思路如下:1.通过子查询找到最后登陆的用户id和登陆时间2.利用子查询的表和login表连接得到最后登陆的id(之前我尝试select user_id,client_id,max(date) date from login group by user_id 这样写,发现返回的id是错误的,可能会默...
Mysql
2021-09-26
0
481
首页
上一页
1
2
3
下一页
末页