SQL(牛客网例题)

17. 题目:现在运营想要看一下男性用户有多少人以及他们的平均gpa是多少,用以辅助设计相关活动,请你取出相应数据。

select 
count(gender),avg(gpa)
from user_profile
where gender='male'

要同时输入数量和平均值的结果,要把这两个命令放到同一行,否则结果错误。

18.题目:现在运营想要对每个学校不同性别的用户活跃情况和发帖数量进行分析,请分别计算出每个学校每种性别的用户数、30天内平均活跃天数和平均发帖数量。

用户信息表:user_profile

30天内活跃天数字段(active_days_within_30)

发帖数量字段(question_cnt)

回答数量字段(answer_cnt)

select
    gender,university,
    count(device_id) as user_num,
    avg(active_days_within_30) as avg_active_days,
    avg(question_cnt) as avg_question_cnt
from user_profile
group by gender,university

19.题目:现在运营想查看每个学校用户的平均发贴和回帖情况,寻找低活跃度学校进行重点运营,请取出平均发贴数低于5的学校或平均回帖数小于20的学校。

SELECT
    university,
    avg(question_cnt) as avg_question_cnt,
    avg(answer_cnt) as avg_answer_cnt
from user_profile
group by university
having avg_question_cnt<5 OR avg_answer_cnt<20

“Where” 是一个约束声明,使用Where来约束来之数据库的数据,Where是在结果返回之前起作用的,且Where中不能使用聚合函数。

“Having”是一个过滤声明,是在查询返回结果集以后对查询结果进行的过滤操作,在Having中可以使用聚合函数。分组后一般用Having。它筛选分组后的各组数据。就是如果之前用AVG,SUM,COUNT这类聚合函数后,原数据改变,HAVING可以筛选改变后的数据。

HAVING子句可以让我们筛选成组后的各组数据,WHERE子句在聚合前先筛选记录.也就是说作用在GROUP BY 子句和HAVING子句前;而 HAVING子句在聚合后对组记录进行筛选。

20.题目:现在运营想要查看不同大学的用户平均发帖情况,并期望结果按照平均发帖情况进行升序排列,请你取出相应数据。 

SELECT
    university,
    avg(question_cnt) AS avg_question_cnt
from user_profile
group by university
order by avg_question_cnt

 先按大学分组后。最后升序排列。最后两行语句不要搞反。

21 题目:现在运营想要查看所有来自浙江大学的用户题目回答明细情况,请你取出相应数据

select
    qpd.device_id,
    qpd.question_id,
    qpd.result
from question_practice_detail as qpd
INNER JOIN user_profile as up
on qpd.device_id = up.device_id
where up.university='浙江大学'

 INNER JOIN   ONhttps://www.nowcoder.com/practice/88aa923a9a674253b861a8fa56bac8e5?tpId=199&tqId=1975672&ru=%2Fpractice%2F009d8067d2df47fea429afe2e7b9de45&qru=%2Fta%2Fsql-quick-study%2Fquestion-ranking 

 

 

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值