给个offer行不行x
给个offer行不行x
全部文章
sql
算法题(26)
题解(2)
归档
标签
去牛客网
登录
/
注册
给个offer行不行x的博客
全部文章
/ sql
(共44篇)
题解 | SQL34 统计复旦用户8月练题情况
question_practice_detail表拿来找到用户的信息和答题月份以及答题次数和正确的关联。 user_profile拿来找到university的信息。 这里要注意sum(if(qpd.question_id = 'right', 1, 0))的使用 select up.de...
Mysql
2022-01-02
0
414
题解 | SQL33 找出每个学校GPA最低的同学
把任务拆解开来。 第一步是找到gpa最小的学校以及对应的gpa作为一张表。 第二步是把user_profile表和刚才找到的表join条件就是学校相同,gpa相同。 最后要把结果对学校排序。 select a.device_id, a.university, a.gpa from user_pr...
Mysql
2022-01-02
0
707
题解 | SQL31 提取博客URL中的用户名
同文本函数的题一样,也是用substring_index。 select device_id, substring_index(blog_url, '/', -1) as user_name from user_submit;
Mysql
2022-01-01
0
287
题解 | SQL32 截取出年龄
从数据里面截取出内容来,还得是看substring_index函数,左两次substring_index就可以了。 select substring_index(substring_index(profile, ',', 3), ',', -1) as age, count(*) ...
Mysql
2022-01-01
0
369
题解 | SQL30 统计每种性别的人数
需要用到substring_index(str, delim, count) str:表示要处理的字符串 delim:表示要分割的字符 count:正数表示从左往右数的第count个数,负数表示从右往左数的第count个数 select substring_index(profile, ',', ...
Mysql
2022-01-01
0
557
题解 | SQL29 计算用户的平均次日留存率
这道题明显难度上来了。 我们需要记录下所有刷题了的用户的数量,我们不关心他当天刷了多少题,只要他刷了题,我们就要统计进去。接着我们需要知道每个用户他在下一天是否也刷了题,所以要拿到一个用户刷了题的天数+1,看看存不存在。 上面的思路自然会让我们想到需要两张表连接起来,一个表看前一天的,一个表看后一天...
Mysql
2022-01-01
0
630
题解 | SQL28 计算用户8月每天的练题数量
这题要用到日期函数。 year(date)表示把2021-08-16中的年份取出来——2021 month(date)表示把2021-08-16中的月份取出来——8 由于每天的question_id都很多,所以需要对这一列分组,再用聚集函数count对这个字段进行聚集求和。 select day(...
Mysql
2021-12-30
0
354
题解 | SQL27 查看不同年龄段的用户明细
这题要注意case里面的条件要列全,要覆盖到所有的情况,不然会出错的。 select device_id, gender, ( case when age >= 25 then '25岁及以上' when age >= 20 then '20-24岁' ...
Mysql
2021-12-30
0
319
题解 | SQL26 计算25岁以上和以下的用户数量
这道题有两种写法,不管哪种写法都需要掌握新的知识。 第一种是case的写法,在when里面对条件进行判断。 select (case when age < 25 or age is null then '25岁以下' when age >= 25 then '25岁及以上' end)...
Mysql
2021-12-29
0
359
题解 | SQL25 查找山东大学或者性别为男生的信息
这道题要用到一个联合表的查询结果的操作,关键词为union。 由于不对结果去重,所以为union all。 select device_id, gender, age, gpa from user_profile where university = '山东大学' union all selec...
mysql
2021-12-29
0
340
首页
上一页
1
2
3
4
5
下一页
末页