Oarcle之group by关键字与having关键字

本文详细介绍了SQL中group by和having关键字的使用方法,包括如何对查询数据进行分组处理,以及如何对分组后的数据进行过滤。通过具体实例展示了group by与having在实际查询中的应用。

group by关键字     *group by :分组由

  作用: 用于对于查询的数据进行分组并进行处理

  例如:select deptno ,job from emp group by deptno,job;

 

1.分组之后,不能够将除分组字段之外的字段之外的字段放在select后面(除了组函数)

  例如:select deptno from emp group by deptno;

2.group by后面可以跟多个字段,则这个多字段值都相同时,才分为一组

  例如:select deptno ,job from emp group by deptno,job;

3.分组后,可以用组函数对每个组进行数据处理

  例如:select deptno ,avg(sal) from emp group by;

      select deptno ,count(1)(sal) from emp group by;

 

= = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = =

having 关键字    *having :有

作用:用于对分组数据进行过滤

  例如:求平均薪水在2000以上的部门编号

    select deptno from emp group by deptno having avg(sal)>2000;

- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - 

where 和 having关键字不冲突

  例如:select avg(sal),deptno from emp where sal >1500 group by deptno having avg(sal)> 2500 order by desc;

  或者:

 

    select avg(sal), deptno
    from emp
    where sal > 1500
    group by deptno
    having avg(sal) > 2500
    order by deptno desc;

 

  例如:select e.deptno from emp e where avg(sal) > 1500 group by deptno;

 

 

 

 

 

 

 

转载于:https://www.cnblogs.com/weishenme/p/10742682.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值