ITPub博客

首页 > 数据库 > Oracle > oracle学习笔记12-统计函数

oracle学习笔记12-统计函数

Oracle 作者:yangganjun 时间:2014-01-05 15:35:05 0 删除 编辑
常用的oracle统计函数有以下几个
SUM
AVG
MIN
MAX
COUNT 计算字段中值的数目
COUNT(*) 计算查询结果的记录数
除COUNT(*)外,还可以使用DISTINCT关键字
记录统计
SELECT COUNT(*) 记录条数 FROM emp;
获取emp表所有数据的条数,不区分重复值
SELECT COUNT(comm) 获得提成的人数 FROM emp;
获取能够拿到提成的人的人数,只针对comm列种不为空的数据
SELECT COUNT(*) 获得提成的人数 FROM emp
WHERE comm IS NOT NULL;
SELECT COUNT( DISTINCT job)工作种类 FROM emp;
获取工作的种类

汇总统计
SELECT SUM(sal) 工资总额 ,sum(comm) 提成总计 FROM emp;
计算工资总额和提成总额
SELECT AVG(sal) 平均工资 ,AVG (comm) 平均提成 FROM emp;
计算平均工资和平均提成
SELECT SUM(sal)/14 平均工资 ,SUM (comm)/4 平均提成 FROM emp;
上面两个的结果是一致的,也就是说avg是平均那个字段中不为空的条数,而不是总条数

最大值与最小值
与上面的用法一致
SELECT MIN(hiredate) 最早雇佣时间 ,MAX(hiredate)最晚雇佣时间 FROM emp;
SELECT MIN(ename)  ,MAX(ename) FROM emp;

分组统计,这时候我们就要用到GROUP BY
SELECT  job ,SUM (sal) FROM emp
GROUP BY job;
oracle学习笔记12-统计函数
例如我们按照工作类型进行分类统计,计算每一个工种的薪水总额
我们也可以多层次分组
SELECT  job 工种 ,deptno ,SUM (sal) 薪水总计 FROM emp
GROUP BY job,deptno
ORDER BY job;
oracle学习笔记12-统计函数
先对工种进行分组,然后再对部门号进行分组
<!-- 正文结束 -->

来自 “ ITPUB博客 ” ,链接:http://blog.itpub.net/8736809/viewspace-1117497/,如需转载,请注明出处,否则将追究法律责任。

上一篇: 没有了~
下一篇: 没有了~
请登录后发表评论 登录
全部评论