oracle聚合函数 第一条,Oracle聚合函数

Oracle聚合函数

count

取得记录数

sum

求和

Avg

取平均

Max

取最大的数

min

取最小的数

count

● 取得所有的员工数

select count(*) from emp;

f0576a56dc5e4d81b4347d3c27f01dbc.png

Count(*)表示取得所有记录,忽略null,为null值也会取得。

当一行数据所有字段全部为空的场合,count方法是否有效 !

count方法有效!

● 取得津贴不为null员工数

select count(comm) from emp;

f31a2114627955484f5bd86d1f84f37b.png

采用count(字段名称),不会取得为null的纪录。

● 取得工作岗位的个数

select count(distinct job) from emp;

fba23d6b362ba3f1c1dc8f99f5c1116f.png

Distinct可以去除重复的纪录。

sum

Sum可以取得某一个列的和,如果是null会略。

● 取得薪水的合计

select sum(sal) from emp;

e06383c188119073e06ca35e362c145c.png

● 取得薪水的合计(sal+comm)

select sum(sal+comm) from emp;

867cffb86e0cfb46575537ea2f551d8a.png

从以上结果来看,不正确,原因在于comm字段有null值,所以无法计算,sum会忽略掉,正确的做法是将comm字段转换成0。

select sum(sal+nvl(comm, 0)) from emp;

c2148000ec6a08faf8b25b1ad3ba01ea.png

avg

取得某一列的平均值。

● 取得平均薪水

select avg(sal) from emp;

30210a6c5ff45cc846d821dc1b43ca2d.png

max

取得某个一列的最大值。

● 取得最高薪水

select max(sal) from emp;

0b17e70c32a5c71bf49ed2dd92845d2a.png

● 取得最晚入职得员工

select max(to_char(hiredate, 'yyyy-mm-dd')) from emp;

28cd21a7cdcbe81f32111aa592a024de.png

min

取得某个一列的最小值。

● 取得最低薪水

select min(sal) from emp;

50490b3d8ee3ff6fcbac0920d02aeb2b.png

● 取得最早入职得员工

select min(hiredate) from emp;

b328c78343e35eb2bea1306a26010a74.png

组合聚合函数

可以将这些聚合函数都放到select中一起使用。

select count(*), sum(sal), avg(sal), max(sal), min(sal) from emp;

00f4164184366b3facf065eeee11bef1.png

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值