聚合函数有: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子句中可以。