where 用得比较多所以比较熟悉,今天突然看到一个having来查询的语句,感觉比较陌生,所以来熟悉一下。
上网查了一下,where是用在聚合前筛选记录,而having是和group by一起用在聚合后,有点没懂,所以试试:
问题:得到每一科目成绩大于90分的人数;
这是where 的用法,是在聚合函数count(stu_id)前,就是先得到成绩大于90的,在聚合;
那如果是先聚合呢,比如在前面的问题上面加上条件:查询人数大于2的学科
注意:having后边必须是聚合函数的结果,否则就会报错;