having,groub by 结合聚合函数的用法解析

聚合函数有:sum , count, avg, max等等;

where无法与聚合函数一起使用,所以在sql语句中加上having子句来筛选查询结果;

上面的sql语句是错的,正确如下:

SELECT uid,count(date),sum(score),date FROM `score` WHERE date like '2017-03-%' and score > 40 group by uid having count(date)>=16;

需要注意说明:having 子句中的每一个元素也必须出现在select列表中。有些数据库例外,如oracle.

       having子句限制的是组,而不是行。where子句中不能使用聚集函数,而having子句中可以。

原文地址:https://www.cnblogs.com/pyspang/p/7475270.html