题解 | #分组过滤练习题#

分组过滤练习题

https://www.nowcoder.com/practice/ddbcedcd9600403296038ee44a172f2d

查看每个学校用户的平均发贴和回帖情况,取出平均发贴数低于5的学校或平均回帖数小于20的学校。保留3位小数,3位之后四舍五入
题解:
1 每个学校这个要求是聚合依据,需要使用group by
2 平均发帖数和平均回帖数需要使用聚合函数
3 平均发帖数和平均回帖数有筛选要求,需要使用having
4 保留3位小数需要使用round函数
重点:
1 round函数的用法,在sql里面直接把聚合函数的内容作为x,后面几位作为y,别名等所有的都搞完了再别名
2 group by作为聚合依据需要写出没有使用聚合函数的所有项
3 having 作为与group by一起连用的筛选方式,不能单独使用
4 having 和where的区别:having
最后代码:
select university,round(avg(question_cnt),3) avg_question_cnt,round(avg(answer_cnt),3) avg_answer_cnt
from user_profile
group by university
having avg(question_cnt)<5
or avg(answer_cnt)<20
#sql#
全部评论

相关推荐

牛客ID:561366855:期望薪资多少?难以相信这简历找不到工作。说明二本电子信息专业想对口就业非常难。
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

更多
牛客网
牛客企业服务