对聚合函数(sum,count,min,max,avg)和having的作用和理解

更新时间:2023-05-14 13:43:24 阅读: 评论:0

源的拼音
对聚合函数(sum,count,min,max,avg)和having的作⽤和理
having诞⽣:
mysql中,当我们⽤到聚合函数,如sum,count后,⼜需要筛选条件时,having就派上⽤场了,因为WHERE是在聚合前筛选记录
幼儿园保育工作总结
qq登录空间登录的,having和group by是组合着⽤的,下⾯通过实例介绍下⽤法:
例如:
比较骚气的网名
苹果怎么换字体lect product,sum(price) from orderitem group by product;
这⾥使⽤了聚合函数sum,如果需要在这张表的基础上⾯再次进⾏过滤,⽤到having是最好的选择。(为什么说最好,因为肯定还有其他⽅案可以进⾏条件过滤,⽐如,嵌套,from⼦查询:
lect product,aa from ( lect product,sum(price) aa  from orderitem group by product)tt where tt.aa>5000;
但是使⽤having,也能达到同样的效果,
HAVING 只会在检索出所有记录之后才对结果集进⾏过滤
步骤还简短:
K3b
lect product ,sum(price) from orderitem group by product having sum(price)>5000;
having的排序由上理解:
1.from tab
2.where ...
4.lect ...
5.having ...
小学上课时间
结论:不能再where⼦句中使⽤聚合函数
聚集函数也叫列函数,它们都是基于整列数据进⾏计算的,⽽where⼦句则是对数据⾏进⾏过滤的,在筛选过程中依赖“基于已经筛选完毕的数据得出的计算结果”是⼀种悖论,这是⾏不通的。更简单地说,因为聚集函数要对全列数据时⾏计算,因⽽使⽤它的前提是:结果集已经确定!
⽽where⼦句还处于“确定”结果集的过程中,因⽽不能使⽤聚集函数。
整数包括什么
与where⼦句不能出现聚集函数正相反的是,我们⼏乎看不到不使⽤聚集函数的having⼦句。为什么?因为在⽔平⽅向上根据外部指定条件的筛选(也就是对⾏的筛选),where⼦句可以独⽴完成,剩下的往往都是需要根据结果集⾃⾝的统计数据进⼀步筛选了,这时,⼏乎都需要通过having⼦句配合聚集函数来完成。

本文发布于:2023-05-14 13:43:24,感谢您对本站的认可!

本文链接:https://www.wtabcd.cn/fanwen/fan/89/897404.html

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。

标签:函数   筛选   结果   聚集   数据   登录
相关文章
留言与评论(共有 0 条评论)
   
验证码:
推荐文章
排行榜
Copyright ©2019-2022 Comsenz Inc.Powered by © 专利检索| 网站地图