牛客SQL练习详解 03:高级查询
叮嘟!这里是小啊呜的学习课程资料整理。好记性不如烂笔头,今天也是努力进步的一天。一起加油进阶吧!

1、计算函数
sql16 查找GPA最高值
题目:
运营想要知道复旦大学学生gpa最高值是多少,
请你取出相应数据
#法1:使用聚合函数取最大值
select round(max(gpa),1)
from user_profile
where university='复旦大学'
#法2:通过gpa倒序,然后取第一条
select gpa
from user_profile
where university = '复旦大学'
order by gpa DESC
limit 1
ROUND(X):
返回参数X的四舍五入的一个整数。
ROUND(X,D):
返回参数X的四舍五入的有 D 位小数的一个数字。
如果D为0,结果将没有小数点或小数部分。
sql17 计算男生人数以及平均GPA
题目:
现在运营想要看一下男性用户有多少人以及他们的平均gpa是多少,
用以辅助设计相关活动,
请你取出相应数据。
法1:
SELECT COUNT(gender) as male_num,round(AVG(gpa),1)as avg_gpa FROM user_profile
WHERE gender = 'male'
法2:
SELECT COUNT(gender) male_num,ROUND(AVG(gpa),1) avg_gpa FROM user_profile
GROUP BY gender HAVING gender = 'male'
2、分组查询
sql18 分组计算练习题
题目:
现在运营想要对每个学校不同性别的用户活跃情况和发帖数量进行分析,
请分别计算出每个学校每种性别的用户数、30天内平均活跃天数和平均发帖数量。
select gender, university,
count(device_id) as user_num,
round(avg(active_days_within_30),1) as avg_active_day,
round(avg(question_cnt),1) as avg_question_cnt
from user_profile
group by gender, university
sql19 分组过滤练习题
题目:
现在运营想查看每个学校用户的平均发贴和回帖情况,
寻找低活跃度学校进行重点运营,
请取出平均发贴数低于5的学校或平均回帖数小于20的学校。
select university,
round(avg(question_cnt),4) as avg_question_cnt
from user_profile
group by university
order by avg_question_cnt asc
sql20 分组排序练习题
题目:
现在运营想要查看不同大学的用户平均发帖情况,
并期望结果按照平均发帖情况进行升序排列,
请你取出相应数据。
select university,
round(avg(question_cnt),4) as avg_question_cnt
from user_profile
group by university
order by avg_question_cnt asc
Ending!
更多课程知识学习记录随后再来吧!
就酱,嘎啦!
注:
人生在勤,不索何获。