having字句

用来对多行函数的结果进行过滤
having 和 where作用相同,都是条件过滤
where过滤普通条件,最早执行
having过滤多行函数结果,分组,求完多行函数后,才执行

select count(*) from emps; -- 只有一个结果,不需要过滤

有多行结果的才需要过滤,如对下:

-- 按主管id分组,求每个主管的手下人数
select mgr_id,count(*) as totalpeople
from emps
where mgr_id is not null
group by mgr_id;

要对count(*)过滤,对多行函数的结果过滤,having前必须有groupby

select mgr_id,count(mgr_id) as totalpeople
from emps
where mgr_id is not null
group by mgr_id
having totalpeople=1;

注意在group by后面添加having

-- 平均工资小于等于5000的岗位代码
select job_id ,avg(sal) as lowsal
from emps
group by job_id
having lowsal<=5000;
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

  • 产品分析逻辑 产品是什么?核心功能是什么?核心竞争力是什么? 满足了何种需求?需求总体市场多大?产品预期能占到市场...
    milkcold阅读 2,755评论 1 0

友情链接更多精彩内容