聚合函数 Aggregate Function

聚合函数是用来统计每个分组的统计信息,它们要跟 group by 一起使用,用来将每个分组所有数据 聚合 成一条统计数据。

包括 max/min/count/avg/sum 等。

-- 按照部门进行分组统计的语句
select deptno,             -- 因为按照 deptno 分组,select 中只能有 deptno 字段
       count(*),           -- 每个分组多少条数据
       max(sal),           -- 每个分组工资的最大值
       min(sal),           -- 每个分组工资的最小值
       avg(sal),           -- 每个分组工资的均值
       sum(nvl(comm, 0))   -- 每个分组奖金总和,因为奖金可能为 null,所以需要使用 nvl 进行去空
  from emp
 group by deptno;          -- 分组依据


-- 可以用 having 对结果进行过滤
-- 整个 select 语句执行顺序大致是: where -> group by -> having -> order by
select deptno, count(*), max(sal), min(sal), avg(sal), sum(comm)
  from emp
 group by deptno
 having avg(sal) > 2000;

-- having 等价于嵌套的 where,即上面语句跟下面这条等效。
select * from (
  select deptno, count(*), max(sal), min(sal), avg(sal) asal, sum(comm)
    from emp
   group by deptno
 ) where asal > 2000;
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值