1、聚合函数结果作为筛选条件时,不能用where,因为WHERE是对逐条的行记录进行筛选,而是用having语法
2、若某行的score值为null时,计算平均值时会忽略带有null值得那一行。如果想要把null当做0,那么可以使用IsNull函数把null转换成0
3、group by子句只能放非聚合函数的列。
# 这是牛客SQL第19题
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;