SQL分组过滤

题目:SQL19 分组过滤练习题

这一题是将(用户、record)根据university进行分组,最后返回的不是用户的数据,而是分组(university、大学)的数据。

因此在过滤的时候,不是过滤行,而是过滤分组,所以要用having操作符,而不是where操作符。

返回的结果还应该保留三位小数,所以使用round()函数。

我的解答:

1
2
3
4
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