对group by的结果集进行分组过滤 where 与 having 用法的区别
where过滤无法做到,因为where语句的执行在分组之前,因此过滤在分组之前。并且,where只能过滤行,不能过滤分组。(where中不能使用聚合函数)having可以对group分组的结果集进行过滤,因其执行在分组之后,并其过滤可以基于分组聚集值。(having子句中可以直接使用聚合函数)有这样的说法,“having子句中的列只能是group by子句中的列或者聚合函数的列”。
原创
2015-08-04 18:25:38 ·
8104 阅读 ·
0 评论