--1.组函数
--COUNT():用来统计记录的条数 如果没有记录,返回 0
--COUNT函数可以根据一列或多列进行计算,没有排重功能
--统计EMP表一共有多少条记录
select count(empno) from emp;
select count(*) from emp;

--统计EMP中一共有多少种工作
select count(distinct job) from emp;

--MAX()计算最大值
--查出EMP表中最高工资
select max(sal) from emp;

--MIN()计处最小值
--查出EMP表中的最低工资
select min(sal) from emp;

--SUM()计算总和
--查询EMP表中的员工工资总和
select sum(sal) from emp;

--5) AVG()计算平均值 --> 空值的话会忽略,不会计算在内
--查询员工平均工资
select round(avg (sal)) from emp;

--------------------------------------------------------------------------------
--2.分组统计
--查询出各部门的员工数目
select deptno,count(*) from emp group by deptno;

--求出各部门平均工资
select deptno,round(avg(sal)) from emp group by deptno;

--按照职位分组,求出每个职位的最高和最低工资
select job,max(sal) 最高工资,min(sal) 最低工资 from emp group by job;

--按照职位分组,统计平均工资最高的工资
SELECT MAX(AVG(sal)) FROM emp GROUP BY job;

--按部门名称分组,显示部门名称,以及每个部门的员工数
select d.dname,count(e.empno) from emp e, dept d where e.deptno = d.deptno group by d.dname;

--查询出每个部门的名称,部门的人数,平均工资
select d.dname,count(e.empno) 人数,round(nvl(avg(e.sal),0)) 平均工资 from emp e, dept d where e.deptno = d.deptno group by d.dname;

--一般都是按照一个字段来分组,如果按照多个字段来分组,那么必须多个字段都一样才算一个组
--查询出每个部门的编号,名称,位置,部门的人数,平均工资
select d.deptno,d.dname,d.loc,count(e.empno),round(nvl(avg(e.sal),0)) 平均工资
from dept d,emp e where e.deptno = d.deptno(+) group by d.deptno, d.dname,d.loc;

--查出平均工资大于2000的部门编号与平均工资
select deptno,round(nvl(avg(sal),0)) from emp group by deptno having round(nvl(avg(sal),0)) > 2000;

--显示非销售人员工作名称以及从事同一工作的雇员的月工资总和,并且满足从事同一工作的员工的月工资合计大于5000,输出的结果按月工资总和排序
select job,round(sum(sal)) 工资和 from emp where job != 'SALESMAN' group by job having round(sum(sal)) > 5000 order by round(sum(sal)) desc;

--查询出平均工资最高的部门
select max(round(avg(sal))) from emp group by deptno;

Oracle函数组的使用的更多相关文章

  1. oracle函数,游标,视图使用总结0.000000000000000000001

    oracle函数或者叫存储过程,在实际的开发过程中对于复杂的业务需求是非常有用的,非常有效率的也是非常好玩儿的一个技术点. 平常在开发过程中对于CRUD功能较多.一般SQL即可应付,大不了就是长一点而 ...

  2. 【函数】Oracle函数系列(2)--数学函数及日期函数

    [函数]Oracle函数系列(2)--数学函数及日期函数 1  BLOG文档结构图 2  前言部分 2.1  导读和注意事项 各位技术爱好者,看完本文后,你可以掌握如下的技能,也可以学到一些其它你所不 ...

  3. oracle函数listagg的使用说明(分组后连接字段)

    关于oracle函数listagg的使用说明 工作中经常遇到客户提出这样的需求,希望在汇总合并中,能够把日期逐个枚举出来. 如图,原始数据是这样的: 客户希望能够实现这样的汇总合并: 那么通常我会使用 ...

  4. 浅谈Oracle函数返回Table集合

    在调用Oracle函数时为了让PL/SQL 函数返回数据的多个行,必须通过返回一个 REF CURSOR 或一个数据集合来完成.REF CURSOR 的这种情况局限于可以从查询中选择的数据,而整个集合 ...

  5. DrawDib函数组的使用

    Microsoft的针对与设备无关位图(DIB位图),在其WIN32 SDK的Multimedia中提供了一组绘制DIB位图的高性能函数组──DrawDib函数组.DrawDib函数组是一组不依赖于图 ...

  6. oracle学习笔记(三)oracle函数

    --oracle 函数 --lower(char):将字符串转换为小写格式 --upper(char):将字符串转换为大写格式 --length(char):返回字符串的长度 --substr(cha ...

  7. oracle函数和存储过程有什么区别

    oracle函数和存储过程有什么区别 1. 返回值的区别,函数有1个返回值,而存储过程是通过参数返回的,可以有多个或者没有 2.调用的区别,函数可以在查询语句中直接调用,而存储过程必须单独调用. 函数 ...

  8. Oracle函数sys_connect_by_path 详解

    Oracle函数sys_connect_by_path 详解 语法:Oracle函数:sys_connect_by_path 主要用于树查询(层次查询) 以及 多列转行.其语法一般为:       s ...

  9. 汉字转拼音的Oracle函数

    前言: 最近处理一个特殊的问题,需要用到汉字自动转换拼音的功能. 解决: 在这里找了不少资料,都是有所缺陷,而且也好像很绕.其实是一个很简单的东东.后来还是自己写了一个函数获取.分享出来,给有需要的X ...

随机推荐

  1. auto_clipboard

    黄山松发表于博客园:http://www.cnblogs.com/tomview/p/6137179.html #ifndef __HSS_AUTO_CLIPBOARD_HSS__#define __ ...

  2. Backtracking algorithm: rat in maze

    Sept. 10, 2015 Study again the back tracking algorithm using recursive solution, rat in maze, a clas ...

  3. springMVC注解初步

    一.(补充)视图解析器---XmlViewResolver 作用:分离配置信息. 在视图解析器---BeanNameViewResolver的基础之上进行扩充,新建一个myView.xml分离信息 在 ...

  4. github fork后的pull和保持同步

    前言 对github上的某个项目贡献自己的修改,但自己可能并没有那个仓库的权限,那要如何操作呢?git的机制和svn还是有些区别的,本文做些记录. 思路1 clone项目到本地,有修改之后,直接提交到 ...

  5. python 高级之面向对象初级

    python 高级之面向对象初级 本节内容 类的创建 类的构造方法 面向对象之封装 面向对象之继承 面向对象之多态 面向对象之成员 property 1.类的创建 面向对象:对函数进行分类和封装,让开 ...

  6. poj 2352 Stars 数星星 详解

    题目: poj 2352 Stars 数星星 题意:已知n个星星的坐标.每个星星都有一个等级,数值等于坐标系内纵坐标和横坐标皆不大于它的星星的个数.星星的坐标按照纵坐标从小到大的顺序给出,纵坐标相同时 ...

  7. Maven学习

    http://www.cnblogs.com/sprinng/p/5141233.html 生成项目jar包失败 maven安装出现解决:http://blog.csdn.net/kjfcpua/ar ...

  8. linux查看cpu 命令

    总核数 = 物理CPU个数 * 每颗物理CPU的核数 总逻辑CPU数 = 物理CPU个数 * 每颗物理CPU的核数 * 超线程数 查看物理CPU个数 cat /proc/cpuinfo| grep & ...

  9. The Euler function[HDU2824]

    The Euler functionTime Limit: 2000/1000 MS (Java/Others) Memory Limit: 32768/32768 K (Java/Others)To ...

  10. 【swift学习笔记】四.swift使用Alamofire和swiftyJson

    Alamofire是AFNetworking的swift版本,功能灰常强大. github:https://github.com/Alamofire/Alamofire SwiftyJSON是操作js ...