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

更新时间:2023-05-19 07:14:42 阅读: 评论:0

对聚合函数(sum,count,min,max,avg)和having的作⽤和理
having诞⽣:
confidence是什么意思mysql中,当我们⽤到聚合函数,如sum,count后,⼜需要筛选条件时,having就派上⽤场了,因为WHERE是在聚合前筛选记录
的,having和group by是组合着⽤的,下⾯通过实例介绍下⽤法:
例如:
lect product,sum(price) from orderitem group by product;
wgq
欲望都市疯狂的缠绵
这⾥使⽤了聚合函数sum,如果需要在这张表的基础上⾯再次进⾏过滤,⽤到having是最好的选择。(为什么说最好,因为肯定还有其他⽅案可以进⾏条件过滤,⽐如,嵌套,from⼦查询:
lect product,aa from ( lect product,sum(price) aa  from orderitem group by product)tt where tt.aa>5000;
望洋兴叹翻译
但是使⽤having,也能达到同样的效果,
HAVING 只会在检索出所有记录之后才对结果集进⾏过滤
步骤还简短:
lect product ,sum(price) from orderitem group by product having sum(price)>5000;
电话留言
mistaken
having的排序由上理解:
1.from tab免费翻译在线
2.where ...
4.lect ...
5.having ...英语陪同翻译
结论:不能再where⼦句中使⽤聚合函数
formulating
聚集函数也叫列函数,它们都是基于整列数据进⾏计算的,⽽where⼦句则是对数据⾏进⾏过滤的,在筛选过程中依赖“基于已经筛选完毕的数据得出的计算结果”是⼀种悖论,这是⾏不通的。更简单地说,因为聚集函数要对全列数据时⾏计算,因⽽使⽤它的前提是:结果集已经确定!
lpg是什么
⽽where⼦句还处于“确定”结果集的过程中,因⽽不能使⽤聚集函数。
与where⼦句不能出现聚集函数正相反的是,我们⼏乎看不到不使⽤聚集函数的having⼦句。为什么?因为在⽔平⽅向上根据外部指定条件的筛选(也就是对⾏的筛选),where⼦句可以独⽴完成,剩下的往往都是需要根据结果集⾃⾝的统计数据进⼀步筛选了,这时,⼏乎都需要通过having⼦句配合聚集函数来完成。

本文发布于:2023-05-19 07:14:42,感谢您对本站的认可!

本文链接:https://www.wtabcd.cn/fanwen/fan/90/114253.html

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

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