高质量搬砖人
高质量搬砖人
全部文章
分类
题解(87)
归档
标签
去牛客网
登录
/
注册
77的摸鱼实录
只要努力就能到达
TA的专栏
53篇文章
0人订阅
SQL
53篇文章
7258人学习
全部文章
(共87篇)
SQL 71) 查询刷题信息
来自专栏
方法)万能的窗口函数! 先按照日期升序排序,再按照姓名升序排序 有登录却没有刷题的哪一天的数据不需要输出 SELECT u.name, p.date, SUM(p.number)over(PARTITION BY u.id ORDER BY p.date) FROM passing_number...
Mysql
SQL
2021-02-01
13
901
SQL 70) 查询每个日期新用户的次日留存率
来自专栏
发现其他大神的一个很好懂的解法! 求出新用户第一天登录日期SELECT user_id,MIN(date) AS date FROM login GROUP BY user_id 算出有新用户登录的日期的新用户留存率SELECT a.date,ROUND(COUNT(DISTINCT login....
Mysql
SQL
2021-02-01
52
4998
SQL 69) 查询每个日期登录新用户个数
来自专栏
方法)一开始是这样写的 SELECT date, COUNT(user_id) FROM login WHERE (date, user_id) IN( SELECT MIN(date), user_id FROM login GROUP BY user_id ) GROUP...
Mysql
SQL
2021-02-01
20
1128
SQL 68) 查询新登录用户次日成功的留存率
来自专栏
方法)借鉴大牛的方法,思路清晰、简洁高效,太厉害了 新登录用户的次日成功的留存率解题公式:(第一天登录的新用户并且第二天也登录的用户)/(总用户) 总用户数量select count(distinct user_id) from login 每个用户第一天登陆的日子(即为新用户)select us...
Mysql
SQL
2021-02-01
48
2724
SQL 67) 查询每个用户最近一天登录的日子,用户的名字,设备的名字
来自专栏
方法)WHERE子句筛选最晚日期 查询结果按照user的name升序排序SELECT u.name AS u_n ,c.name AS c_n ,l.date FROM login l JOIN user u ON l.user_id = u.id JOIN client c ON l.clien...
Mysql
SQL
2021-02-01
33
1916
SQL 66) 查询每个用户最近一天登录的日子
来自专栏
方法)分组 按照user_id升序排序SELECT user_id, MAX(date) FROM login GROUP BY user_id ORDER BY user_id;
Mysql
SQL
2021-02-01
3
1063
SQL 65) -CASE WHEN 统计正常用户发送给正常用户邮件失败的概率
来自专栏
方法)CASE WHEN + GROUP BY 结果保留到小数点后面3位(3位之后的四舍五入) 按照日期升序排序 SELECT date, ROUND(SUM(CASE type WHEN 'completed' THEN 0 ELSE 1 END)*1.0/ COUNT(type),3 ) ...
Mysql
SQL
2021-02-01
14
1101
SQL 64) 找到每个人的任务情况,并且输出出来,没有任务的也要输出
来自专栏
方法)表连结 没有任务的也要输出SELECT p.id, p.name, t.content FROM person AS p LEFT JOIN task AS t ON p.id = t.person_id;
Mysql
SQL
2021-02-01
1
1122
SQL 63) 输出通过的题目的排名
来自专栏
方法)窗口函数 通过题目个数相同的,排名相同 id升序排列 SELECT id, number, dense_rank()over(ORDER BY number DESC)AS ...
Mysql
SQL
2021-02-01
5
892
SQL 62) 查询积分表里面出现三次以及三次以上的积分
来自专栏
方法)分组-筛选组 SELECT number FROM grade GROUP BY number HAVING COUNT(number)>=3;
Mysql
SQL
2021-02-01
43
1862
首页
上一页
1
2
3
4
5
6
7
8
9
下一页
末页