--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. SSH批量部署服务

    SSH批量部署服务 1.1在NFS上作为中心分发服务器将私钥分发到其他服务器上 1.1.1NFS部署 [root@nfs-server ~]# useradd zhurui [root@nfs-ser ...

  2. 分布式搜索引擎Elasticsearch性能优化与配置

    1.内存优化 在bin/elasticsearch.in.sh中进行配置 修改配置项为尽量大的内存: ES_MIN_MEM=8g ES_MAX_MEM=8g 两者最好改成一样的,否则容易引发长时间GC ...

  3. spark dataframe 类型转换

    读一张表,对其进行二值化特征转换.可以二值化要求输入类型必须double类型,类型怎么转换呢? 直接利用spark column 就可以进行转换: DataFrame dataset = hive.s ...

  4. html小技巧

    占位符 插入一个非间断空格.一般来说,无论你按多少次空格键,HTML也只会在单词之间显示一个空白间隔.当你需要插入多个空格时,请输入 或 代码.它们名为"空格占位符",你输入几个, ...

  5. 用grunt搭建web前端开发环境

    1.前言 本文章旨在讲解grunt入门,以及讲解grunt最常用的几个插件的使用. 2.安装node.js Grunt和所有grunt插件都是基于nodejs来运行的,如果你的电脑上没有nodejs, ...

  6. C#/ASP.NET定时任务执行管理器组件–FluentScheduler定时器

    必须JobManager初始化 方式1: public void Start()         {             JobManager.AddJob(() => FetchingDa ...

  7. GDB调试汇编堆栈过程分析

    GDB调试汇编堆栈过程分析 分析过程 这是我的C源文件:click here 使用gcc - g example.c -o example -m32指令在64位的机器上产生32位汇编,然后使用gdb ...

  8. vue.js 第五课

    计算属性 1.基础例子 2.计算属性 vs $watch 3.计算 setter 4.计算属性开发实务demo   1.计算属性 computed( 电脑computer) (区别普通属性) 计算属性 ...

  9. Gradle 下载

    gradle各个版本的下载地址 :http://services.gradle.org/distributions 下载完后的gradle怎么使用呢? //下面是网上提供的方法,仅供学习参考 在 ht ...

  10. cocos2dx-lua_修改源码流程(cocos2dx-3.10、win7、Cocos Code IDE1.2)

    以下是在cocos2dx-3.10.win7.Cocos Code IDE1.2下假定你已经配置好了cocos2dx的环境.1.修改源代码步骤(1)在Cocos/Cocos2d-x/cocos2d-x ...