oracle中的聚合函数count、max、min、sum、avg等等

简介: 前面我们介绍了很多oracle中单行函数,在oracle中还存在另一类函数,那就是聚合函数,oracle中的聚合函数非常有用,主要是用来做些统计、平均之类的工作,你必须牢记。 先简单介绍一下几个常用的oracle中的聚合函数。

前面我们介绍了很多oracle中单行函数,在oracle中还存在另一类函数,那就是聚合函数,oracle中的聚合函数非常有用,主要是用来做些统计、平均之类的工作,你必须牢记。

先简单介绍一下几个常用的oracle中的聚合函数。

Oracle中聚合函数名称

函数的作用

Count

用来求有效数据的数量

Max

用来求给定数据中最大的那一个数据

Min

用来求给定数据中最小的那一个数据

Avg

用来求给定数据的平均值

Sum

用来求给定数据的总和

Variance

用来求给定数据的标准差

Stddev

用来求给定数据的方差

先面是一些例子和注意事项。

1 .对于聚合函数,如果给定的值中存在空值的话,oracle将会直接忽略。

例如,对于scottschema中有表emp;

Select count(*) from emp;

将会得到结果:

COUNT(*)

———-

14

但是我们注意到在Mgr列中有一列是空值,于是

Select count(mgr) from emp;

将会得到如下结果。

select COUNT(MGR)

———-

13

也就是说,oracle忽略了其中的空值。

当然对sum,max,min,avg等其他聚合函数都是如此。

例如select sum(comm) from emp;将会自动忽略掉一部分空值的数据。

2.对于聚合函数中可以使用distinct关键字来压缩重复值。

比如我们想统计总共有多少个部门的话

我们如果写

Select count(deptno) from emp;

将会得到错误的结果。因为实际上有很多重复的值也被计算在内。为了找到正确的答案,你应该这样写。

Select count(distinct deptno) from emp;

3.单独使用oracle中的聚合函数 可能用途还是有限,更经常使用的是聚合函数和group by 关键字结合起来使用。这一点我们稍后介绍。

目录
相关文章
|
8月前
|
SQL Oracle 关系型数据库
java实现oracle和mysql的group by分组功能|同时具备max()/min()/sum()/case when 函数等功能
java实现oracle和mysql的group by分组功能|同时具备max()/min()/sum()/case when 函数等功能
|
SQL Oracle 关系型数据库
oracle数据库分组查询,使用聚合函数
oracle数据库分组查询,使用聚合函数
|
运维 Oracle 关系型数据库
Oracle: count STOPKEY 优化
Oracle数据库中select * from test where id> 1000 and rownum=1这样的语句应该怎样优化
461 0
|
Oracle 关系型数据库 MySQL
Mysql,Oracle中 sum、count函数使用条件判断
Mysql,Oracle中 sum、count函数使用条件判断
Mysql,Oracle中 sum、count函数使用条件判断
|
运维 关系型数据库
Oracle-09:聚合函数
------------吾亦无他,唯手熟尔,谦卑若愚,好学若饥-------------   数据库脚本放一下,供测试使用   create table DEPT ( deptno NUMBER(2) not null, dname VARCHAR2(20), ...
998 0
|
SQL Oracle 关系型数据库
|
Oracle 关系型数据库 Shell
|
Oracle 关系型数据库 SQL
oracle count函数
1.  count函数 1.1.  count查询结果 count(*)是以所有字段做count count(1)是以查询结果第一个字段做count,两者的结果是一样的 这里的1应该不是位置变量,相当于给*的结果加一个值为1伪列,再count 1的数量 所以结果和count(*)是一样的,即count(rowid) count(1),你可以理解成有个字段,这个字段就是固定值1,那么也是计算分组下重复的行数。
1066 0