webary
webary
全部文章
题解
归档
标签
去牛客网
登录
/
注册
webary的博客
全部文章
/ 题解
(共10篇)
题解 | #牛客每个人最近的登录日期(五)#
一步一步来吧。 确定每个用户最早出现的日期,即每个用户作为新用户时的日期 select user_id, min(date) as first_date from login group by user_id 基于step1结果确定每个新用户次日留存了的记录。用right join留存了则保留次...
sql
题解
2021-09-10
3
500
题解 | #计算用户8月每天的练题数量#
题意明确: 2021年8月每天用户练习题目的数量 问题分解: 限定条件:2021年8月,写法有很多种,比如用year/month函数的year(date)=2021 and month(date)=8,比如用date_format函数的date_format(date, "%Y-%m&...
sql
题解
2021-09-03
286
15157
题解 | #计算用户的平均次日留存率#
题意明确: 用户在某天刷题后第二天再来刷题的平均概率 问题分解: 限定条件:第二天再来。 解法1:表里的数据可以看作是全部第一天来刷题了的,那么我们需要构造出第二天来了的字段,因此可以考虑用left join把第二天来了的拼起来,限定第二天来了的可以用date_add(date1, interv...
sql
题解
2021-09-03
649
30390
题解 | #统计每种性别的人数#
题意明确: 统计每个性别的用户分别有多少参赛者 问题分解: 限定条件:无; 每个性别:按性别分组group by gender,但是没有gender字段,需要从profile字段截取,按字符,分割后取出即可。可使用substring_index函数可以按特定字符串截取源字符串。 subst...
sql
题解
2021-09-03
107
4302
题解 | #截取出年龄#
题意明确: 统计每个年龄的用户分别有多少参赛者 问题分解: 限定条件:无; 每个年龄:按年龄分组group by age,但是没有age字段,需要从profile字段截取,按字符,分割后取出即可。可使用substring_index函数可以按特定字符串截取源字符串。substring_index...
sql
题解
2021-09-03
125
9230
题解 | #提取博客URL中的用户名#
题意明确: 把用户的个人博客用户名字段提取出来单独记录为一个新的字段 问题分解: 限定条件:无; 提取字段内信息:个人博客字段中的用户名是被字符/分隔的最后一个子串,使用substring_index函数可以按特定字符串截取源字符串 substring_index(FIELD, sep, ...
sql
题解
2021-09-03
17
1956
题解 | #找出每个学校GPA最低的同学#
题意明确: 每个学校里gpa最低的同学 问题分解: 限定条件:gpa最低,看似min(gpa),但是要留意,是每个学校里的最低,不是全局最低。min(gpa)的时候对应同学的ID丢了,直接干是拿不到最低gpa对应的同学ID的; 每个学校最低: 第一种方式是用group by把学校分组,然后计算得...
sql
题解
2021-09-02
342
14823
题解 | #21年8月份练题总数#
题意明确: 2021年8月份所有练习过题目的总用户数和练习过题目的总次数 问题分解: 限定条件:2021年8月份,匹配date字段即可,匹配方法主要有三种:(1)like语法:date like "2021-08%"(2)year、month函数:year(date)='20...
sql
题解
2021-09-02
207
7834
题解 | #统计复旦用户8月练题情况#
题意明确: 复旦大学的每个用户在8月份练习的总题目数和回答正确的题目数情况 问题分解: 限定条件:需要是复旦大学的(来自表user_profile.university),8月份练习情况(来自表question_practice_detail.date) 从date中取month:用month函...
sql
题解
2021-09-01
425
22566
题解 | #浙大不同难度题目的正确率#
题意明确: 浙江大学的用户在不同难度题目下答题的正确率情况,按照准确率升序输出 问题分解: 限定条件:浙江大学的用户; 不同难度:difficult_level(question_detail表中的列),需要分组统计,因此用到group by,语法详情; 正确率:表面理解就是正确数÷总数,正确的...
sql
题解
2021-08-31
325
13926