1、首先在oracle中avg函数,使用聚合函数在计算平均值时,会报空值排除在外。
2、刚才在计算的时候结果是550,而comm列的总各为2200 所以计算平均时是只计算了除了空值的行。
3、需要注意的是,avg函数不能单独使用在where条件中不然会报如下错误。
4、如果想要查询出大于平均值的结果,需要使用group by ...having 子句。
5、然后用count函数用来统计列的总行数,就完成了。
在oracle中,sum一般用于统计某列的和,count用于统计行数。
工具:oracle 10g
步骤:
1、oracle中emp表有如下数据:
2、要求按deptno字段统计每个deptno下有多少行数据,可用如下语句:
select deptno,count(*) from emp group by deptno;
3、查询结果:
4、要求按deptno字段统计每个deptno下的sal的和是多少,可用如下语句:
select deptno,sum(sal) from emp group by deptno;
5、查询结果:
其中:sum、count等在oracle中叫聚合函数,聚合函数对一组值执行计算并返回单一的值。除了 count以外,聚合函数忽略空值。聚合函数经常与 select语句的group by子句一同使用。
如果按某些字段统计行数,而这些字段有变化,用sum 和 decode 函数比较好吧
group by试试