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子句中可以。

posted @ 2017-09-04 19:56  一粒小米-博客  阅读(2409)  评论(0编辑  收藏  举报