1. 题目意思:
选取平均发贴数低于5的学校或平均回帖数小于20的学校
2. 思路拆解
- 平均发贴数avg(question_cnt) 低于5的学校或平均回帖数avg(answer_cnt) 小于20的学校:avg(question_cnt) < 5 or avg(answer_cnt)<20
- 题目要找的对象是学校,所以要用 group by university ,group by 还有去重的作用。
3.注意:
- 这里的要用having,而不能用 where,因为select的字段当中有avg(question_cnt)和avg(answer_cnt) ,且having 后面需要接聚合函数。
4.答案输出:
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;