题解 | #分组过滤练习题#
分组过滤练习题
https://www.nowcoder.com/practice/ddbcedcd9600403296038ee44a172f2d
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
每个学校:即学校只出现一次,依据学校进行分组,group by university
平均发帖数<5:使用求平均值函数avg
,avg(question_cnt) < 5
平均回帖数<20:同样使用平均值函数,avg(answer_cnt) < 20
细节问题
- 保留3为小数,使用
round
函数。格式为:round(字段名,保留的小数位) - 聚合函数的条件过滤,只能使用
having
,不能使用where
。即where
只能对表中原有的字段进行过滤,通过函数新计算出的被做为条件过滤时,必须使用having
sql练习 文章被收录于专栏
记录练习过程