Khan201803011945114
Khan201803011945114
全部文章
题解
归档
标签
去牛客网
登录
/
注册
Khan201803011945114的博客
全部文章
/ 题解
(共18篇)
题解 | #求每一天的次日留存率#
思路如下:本题跟前面的一样,需要列出留存率为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
404
题解 | #查找最后登陆时间#
思路如下: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
题解 | #异常邮件的概率#
代码量最多但是最无脑的写法…… 选出所有正常用户发送的邮件 select a.date,round(b.bad/a.num,3) as pfrom(select date,count(id) num from emailwhere send_id in (select id from user wh...
Mysql
2021-09-25
0
332
题解 | #每个人的任务#
select a.id,a.name,b.contentfrom person aleft join task bon a.id = b.person_idorder by a.id 使用left join 保留全部左边的person即可这里需要注意比较坑的是 task表的person_id 对应...
Mysql
2021-09-25
0
404
题解 | #刷题排名#
select id,number,(select count(DISTINCT number)+1 from passing_number p2 where p1.number<p2.number) t_rank from pas...
Mysql
2021-09-25
0
296
题解 | #查找在职员工自入职以来的薪水涨幅情况#
select a.emp_no,(b.salary-a.salary) growth ##同一行中两列相减即为涨幅 from (select emp_no,salary from salaries ###第三层这里选出在职员工入职时的工资 where from_date in (sel...
Mysql
2021-09-17
0
358
首页
上一页
1
2
下一页
末页