Oracle中使用聚合函数

单行函数和聚合函数的区别:

单行函数操作时,根据函数的功能同时处理一行数据,返回每一行的处理结果;

聚合函数同时对分组后的一组行进行操作,返回分组后各组的处理结果;

聚合函数主要是数字处理函数,通常对分组后每组行中每行的列进行操作,返回数值,包括求平均值函数avg(x)、统计个数函数count(x)、求最大值函数max(x)、求最小值函数min(x)、求中间值函数median(x)、求和函数sum(x)、求标准差函数stddev(x)、求方差函数variance(x);

下面对如上函数进行简单举例:

select * from products;

avg()函数:

select avg(pp.price) from products pp;
--统计products表中所有产品的价格平均值;

count()函数:

select count(pp.product_id) from products pp;
--统计products表中所有产品的数量

max()函数:

select max(pp.price) from products pp;

--统计products表中产品价格的最高值

min()函数:

select min(pp.price) from products pp;

--统计products表中产品价格的最低值

median()函数:

统计传入变量中间行的值,有点绕,直接看例子;

select distinct price from products order by price desc;

select median(pp.price) from products pp;

为什么是24呢,因为products表共15行,中间一行是第8行,第8行记录price字段值为24,所以median(x)函数也可以理解为求传入参数x中中间列对应字段的值;

注意:不一定去的是整个表的中间列,后面会讲到where子句,它对表中的列做过滤;

sum()函数:

select sum(pp.product_id) from products pp;

--统计表中product_id列值的总和,products表中product_id列序号从1-15,统计值为120,如下

stddev(x)函数和variance(x)函数使用方法类似,直接调用即可。

猜你喜欢

转载自blog.csdn.net/haidibeike/article/details/9024491