oracle 聚合函数 where,Oracle聚合函数

Oracle聚合函数

Oracle聚合函数同时可以对多行数据进行操作,并返回一个结果。比如经常用来计算一些分组数据的总和和平均值之类,常用函数有AVG()、SUM()、MIN()、MAX()等等。

下列案例所需表结构参考:学生信息系统。

AVG函数

AVG([distinct ] expr):该函数可以求列或列组成的表达式expr的平均值,返回的是数值类型。其中 distinct是可选参数,表示是否去掉重复行。

案例1、求学生信息表(stuinfo)中学生的平均年龄,代码如下:select * from stuinfo;

select avg(t.age) from stuinfo t;

结果:

1542208819049_881935.png

使用该函数和其他聚合函数时,都可以和where条件语句和分组GROUP BY 查询组合使用,得到特定的结果。

案例2,、按照班级求各班学生的平均年龄(其中年龄大于等于30岁的不计入在内)。代码:select classno, avg(t.age)

from stuinfo t

where t.age 

group by t.classno;

结果:

1542209086813_231172.png

COUNT函数

count(*|[distinct]expr)函数可以用来计算查询结果的条数或行数。函数中必须指定列名或者表达式expr,不然就要全选使用*号。

案例3、查询学生信息表中所有的学生的个数。代码如下:select count(*) from stuinfo;

结果:

1542209953667_042974.png

MAX/MIN函数

MAX([distinct] expr)、MIN([distinct] expr)函数可以返回指定列或列组成的表达式expr中的最大值或最小值。该函数也通常和where条件、group by分组结合在一起使用。

案例4、求学生信息表中年龄最大的学生的年龄:select max(age) from stuinfo;

结果:

1542211426236_169523.png

SUM函数

SUM([distinct] expr)函数可以对指定列或列组成的表达式expr进行求和,假如不使用分组group by ,那就是按照整表作为一个分组。

案例5、正好利用sum函数求和乘以人数进行求学生的平均年龄select classno, sum(age), count(*), sum(age) / count(*), avg(age)

from stuinfo t

where t.age 

group by t.classno;

结果:

1542211835202_553322.png

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值