题解 | #分组过滤练习题#
分组过滤练习题
https://www.nowcoder.com/practice/ddbcedcd9600403296038ee44a172f2d
数据结果需求:
平均发贴数低于5的学校或平均回帖数小于20的学校
题目分解:
- 需要按学校进行划分,所以我们的group by 条件为 university
- 对平均值取数条件:保留3位小数(系统后台也会自动校正),3位之后四舍五入
- 最后展现2个平均值字段都需要重新命名且做计算,所以在对这两个计算字段进行筛选时,不能用where,需要使用having连接筛选项和新命名字段
最终代码:
select university, round(avg(question_cnt),3) as avg_question_cnt,round(avg(answer_cnt),3) as avg_answer_cnt from user_profile group by university having avg_question_cnt <5 or avg_answer_cnt <20;