Oracle SQL函数之聚组函数

AVG([distinct|all]x)
【功能】统计数据表选中行x列的平均值。
【参数】all表示对所有的值求平均值,distinct只对不同的值求平均值,默认为all
如果有参数distinct或all,需有空格与x(列)隔开。
【参数】x,只能为数值型字段
【返回】数字值
【示例】
环境:
create table table3(xm varchar(8),sal number(7,2));
insert into table3 values(gao,1111.11);
insert into table3 values(gao,1111.11);
insert into table3 values(zhu,5555.55);
commit;
执行统计:
select avg(distinct sal),avg(all sal),avg(sal) from table3;
结果:  3333.33  2592.59  2592.59


SUM([distinct|all]x)
【功能】统计数据表选中行x列的合计值。
【参数】all表示对所有的值求合计值,distinct只对不同的值求合计值,默认为all
如果有参数distinct或all,需有空格与x(列)隔开。
【参数】x,只能为数值型字段
【返回】数字值
【示例】
执行统计:
select SUM(distinct sal),SUM(all sal),SUM(sal) from table3;
结果:  6666.66     7777.77     7777.77

STDDEV([distinct|all]x)
【功能】统计数据表选中行x列的标准误差。
【参数】all表示对所有的值求标准误差,distinct只对不同的值求标准误差,默认为all
如果有参数distinct或all,需有空格与x(列)隔开。
【参数】x,只能为数值型字段
【返回】数字值
【示例】
执行统计:
select STDDEV(distinct sal),STDDEV(all sal),STDDEV(sal) from table3;
结果:  3142.69366257674     2565.99863039714  2565.99863039714

count(*|[distinct|all]x)
【功能】统计数据表选中行x列的合计值。
【参数】
*表示对满足条件的所有行统计,不管其是否重复或有空值(NULL)
all表示对所有的值统计,默认为all
distinct只对不同的值统计,
如果有参数distinct或all,需有空格与x(列)隔开,均忽略空值(NULL)。
【参数】x,可为数字、字符、日期型及其它类型的字段
【返回】数字值
count(*)=sum(1)
【示例】
环境:
create table table3(xm varchar(8),sal number(7,2));
insert into table3 values(gao,1111.11);
insert into table3 values(gao,1111.11);
insert into table3 values(zhu,5555.55);
insert into table3 values(‘‘,1111.11);
insert into table3 values(zhu,0);
commit;

SQL> select * from table3;
XM             SAL
-------- ---------
gao        1111.11
gao        1111.11
zhu        5555.55
           1111.11
zhu           0.00

执行统计:
select count(*),count(xm),count(all xm),count(distinct sal),count(all sal),count(sal),sum(1) from table3;
结果:  5   4  4  3   5   5  5


MAX([distinct|all]x)
【功能】统计数据表选中行x列的最大值。
【参数】all表示对所有的值求最大值,distinct只对不同的值求最大值,默认为all
如果有参数distinct或all,需有空格与x(列)隔开。
【参数】x,可为数字、字符或日期型字段
【返回】对应x字段类型
SQL> select MAX(distinct sal),MAX(xm) from table3;
MAX(DISTINCTSAL) MAX(XM)
---------------- --------
         5555.55 zhu

MIN([distinct|all]x)
【功能】统计数据表选中行x列的最大值。
【参数】all表示对所有的值求最大值,distinct只对不同的值求最大值,默认为all
如果有参数distinct或all,需有空格与x(列)隔开。
【参数】x,可为数字、字符或日期型字段
【返回】对应x字段类型
注:字符型字段,将忽略空值(NULL)
SQL> select MIN(distinct sal),MIN(xm),MIN(distinct xm),MIN(all xm) from table3;
MIN(DISTINCTSAL) MIN(XM)  MIN(DISTINCTXM) MIN(ALLXM)
---------------- -------- --------------- ----------
               0 gao      gao             gao

 

郑重声明:本站内容如果来自互联网及其他传播媒体,其版权均属原媒体及文章作者所有。转载目的在于传递更多信息及用于网络分享,并不代表本站赞同其观点和对其真实性负责,也不构成任何其他建议。