数据库中having用法[通俗易懂]

数据库中having用法[通俗易懂]having经常与groupby和聚合函数(COUNT,SUM,AVG,MIN,orMAX)一起使用,用来过滤由GROUPBY语句返回的记录集。聚合函数通过作用于一组数据而只返回一个单个值,因此,在SELECT语句中出现的元素要么为一个聚合函数的输入值,要么为GROUPBY语句的参数,否则会出错。HAVING语句的存在弥补了WHERE关键字不能与聚合函数联合使用的不足。…

大家好,又见面了,我是你们的朋友全栈君。

having经常与group by和聚合函数(COUNT, SUM, AVG, MIN, or MAX)一起使用,用来过滤由GROUP BY语句返回的记录集。

聚合函数通过作用于一组数据而只返回一个单个值,因此,在SELECT语句中出现的元素要么为一个聚合函数的输入值,要么为GROUP BY语句的参数,否则会出错。

HAVING语句的存在弥补了WHERE关键字不能与聚合函数联合使用的不足。

语法:

SELECT column1, column2, … column_n, aggregate_function (expression)
FROM tables
WHERE predicates
GROUP BY column1, column2, … column_n
HAVING condition1 … condition_n;

同样使用本文中的学生表格,如果想查询平均分高于80分的学生记录可以这样写:

SELECT id, COUNT(course) as numcourse, AVG(score) as avgscore

FROM student

GROUP BY id

HAVING AVG(score)>=80;

在这里,如果用WHERE代替HAVING就会出错//where 的地方用到的数据是一组数据,不能是一个数

 

 

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/150487.html原文链接:https://javaforall.net

(0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号