题意解读

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


每个学校:即学校只出现一次,依据学校进行分组,group by university

平均发帖数<5:使用求平均值函数avgavg(question_cnt) < 5

平均回帖数<20:同样使用平均值函数,avg(answer_cnt) < 20

细节问题


  1. 保留3为小数,使用 round 函数。格式为:round(字段名,保留的小数位)
  2. 聚合函数的条件过滤,只能使用 having,不能使用 where 。即 where只能对表中原有的字段进行过滤,通过函数新计算出的被做为条件过滤时,必须使用having

完整SQL


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