




版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、Oracle数据库第7章:分组统计查询统计函数No.组函数组函数描述描述1COUNT(* | DISTINCT 列)求出全部的记录数2SUM(列)求出总和,操作的列是数字3AVG(列)平均值4MAX(列)最大值5MIN(列)最小值6MEDIAN(列)返回中间值7VARIANCE(列)返回方差8STDDEV(列)返回标准差统计函数 范例n查找出公司每个月支出的月工资的总和SELECT SUM(sal) FROM emp ;统计函数 范例n查询出公司的最高工资、最低工资、平均工资SELECT AVG(sal), ROUND(AVG(sal),2), MAX(sal), MIN(sal) FROM
2、emp ;统计函数 范例n统计出公司最早雇佣和最晚雇佣的雇佣日期SELECT MIN(hiredate) 最早雇佣日期 , MAX(hiredate) 最晚雇佣日期 FROM emp ;统计函数 范例n统计公司工资之中中间的工资值SELECT MEDIAN(sal) FROM emp ;统计函数 范例n统计工资的标准差与方差SELECT STDDEV(sal),VARIANCE(sal) FROM emp ;统计函数 范例n统计出公司的雇员人数SELECT COUNT(empno) , COUNT(*) FROM emp ;统计函数 范例n 验证COUNT(*)、COUNT(字段)、COUNT
3、(DISTINCT 字段)的使用区别SELECT COUNT(*) , COUNT(ename) , COUNT(comm) , COUNT(DISTINCT job) FROM emp ;统计函数 范例n验证三种COUNT()函数的使用方式SELECT COUNT(ename) , AVG(sal) , SUM(sal) , MAX(sal) , MIN(sal) FROM bonus ;小结n五个核心的统计函数:COUNT()、AVG()、SUM()、MIN()、MAX()。什么时候需要分组?n对于分组这个概念在生活之中往往会听见以下的需要:需求一:需求一:在一个班级之中,要求男女各一组进
4、行辩论赛;需求二:需求二:在公司中,要求每个部门一组进行拔河比赛;针对于emp表数据分析nemp数据就可以根据不同的需要进行如下的分组:按照雇员的职位进行分组,job字段内容重复;按照雇员所在的部门分组,deptno字段内容重复;分组统计语法n SELECT DISTINCT 分组字段 AS 列别名 ,. | 统计函数 AS 别名 , .FROM 表名称1 表别名1 , 表名称2 表别名2 .WHERE 条件(s) GROUP BY 分组字段分组字段ORDER BY 排序字段 ASC|DESC ;分组统计 范例n统计出每个部门的人数SELECT deptno,COUNT(*)FROM empG
5、ROUP BY deptno ;分组统计 范例n统计出每种职位的最低和最高工资SELECT job , MIN(sal) , MAX(sal)FROM empGROUP BY job ;分组注意事项n 注意事项一:注意事项一:如果没有GROUP BY子句,则在SELECT子句之中只允许出现统计函数,其他任何字段都不允许出现。错误的范例:错误的范例: SELECT deptno , COUNT(empno) FROM emp ;正确的范例:正确的范例: SELECT COUNT(empno) FROM emp ;n 注意事项二:注意事项二:在统计查询之中,SELECT子句后只允许出现分组字段和统
6、计函数,而其他的非分组字段不能使用。错误的范例:错误的范例: SELECT deptno,ename,COUNT(empno) FROM emp GROUP BY deptno ;正确的范例:正确的范例: SELECT deptno, COUNT(empno) FROM emp GROUP BY deptno ;n 注意事项三:注意事项三:统计函数允许嵌套使用,但是嵌套统计函数之后的SELECT子句之中不允许再出现任何的字段,包括分组字段。正确的范例:正确的范例:SELECT MAX(AVG(sal) FROM emp GROUP BY deptno ;错误的范例:错误的范例: SELECT
7、deptno,MAX(AVG(sal) FROM emp GROUP BY deptno ;分组统计 范例n 查询每个部门的名称、部门人数、部门平均工资、平均服务年限SELECT d.dname, COUNT(e.empno) , ROUND(AVG(e.sal),2) avgsal, ROUND(AVG(MONTHS_BETWEEN(SYSDATE,e.hiredate) / 12),2) avgyearFROM dept d,emp e WHERE e.deptno(+)=d.deptnoGROUP BY d.dname;分组统计 范例n 查询出公司各个工资等级雇员的数量、平均工资。SEL
8、ECT s.grade,COUNT(e.empno), ROUND(AVG(e.sal),2) FROM emp e,salgrade sWHERE e.sal BETWEEN s.losal AND s.hisal GROUP BY s.grade ;分组统计 范例n 统计出领取佣金与不领取佣金的雇员的平均工资、平均雇佣年限、雇员人数。SELECT 不领取佣金, ROUND(AVG(sal),2) avgsal,ROUND(AVG(MONTHS_BETWEEN(SYSDATE,hiredate)/12),2) avgyear,COUNT(empno) count FROM emp WHERE
9、 comm IS NOT NULL UNIONSELECT 领取佣金, ROUND(AVG(sal),2) avgsal,ROUND(AVG(MONTHS_BETWEEN(SYSDATE,hiredate)/12),2)avgyear,COUNT(empno) count FROM emp WHERE comm IS NULL ;小结n利用GROUP BY可以设置分组;nSELECT子句在分组操作中的限制。多字段分组统计n SELECT DISTINCT 分组字段1 AS 列别名 , 分组字段2 AS 列别名 , | 统计函数 AS 别名 , .FROM 表名称1 表别名1 , 表名称2 表别
10、名2 .WHERE 条件(s) GROUP BY 分组字段分组字段1 , 分组字段分组字段2 , .ORDER BY 排序字段 ASC|DESC ;分组统计 范例n现在要求查询出每个部门的详细信息。SELECT d.deptno,d.dname,d.loc,NVL(COUNT(e.empno),0) count,NVL(ROUND(AVG(sal),2),0) avg, NVL(SUM(sal),0) sum,NVL(MAX(sal),0) max,NVL(MIN(sal),0) minFROM emp e,dept dWHERE e.deptno(+)=d.deptnoGROUP BY d.
11、deptno,d.dname,d.loc ;小结n多字段分组是GROUP BY定义多个字段,且多个字段必须同时重复。HAVING子句n 使用GROUP BY子句可以实现数据的分组显示,但是在很多时候往往需要对分组之后的数据进行再次的过滤,例如:要求选出部门人数超过5个人的部门信息,这样的操作肯定是先要按照部门进行分组统计,而后再通过统计结果进行数据的过滤,而要想实现这样的功能就只能通过HAVING子句完成。SELECT DISTINCT 分组字段1 AS 列别名 , 分组字段2 AS 列别名 , | 统计函数 AS 别名 , .FROM 表名称1 表别名1 , 表名称2 表别名2 .WHERE
12、 条件(s) GROUP BY 分组字段1 , 分组字段2 , .HAVING 过滤条件过滤条件(s)ORDER BY 排序字段 ASC|DESC ;分组统计 范例n查询出所有平均工资大于2000的职位信息、平均工资、雇员人数SELECT job, ROUND(AVG(sal),2) , COUNT(empno) FROM emp GROUP BY job HAVING AVG(sal)2000 ;分组统计 范例n 列出至少有一个员工的所有部门编号、名称,并统计出这些部门的平均工资、最低工资、最高工资。SELECT d.deptno,d.dname,ROUND(AVG(e.sal),2),MIN(e.sal),MAX(e.sal)FROM emp e,dept dWHERE e.deptno(+)=d.deptnoGROUP BY d.deptno,d.dname,d.locHAVING COUNT(e.empno)1;语句执行流程分组统计 范例n 显示非销售人员工作名称以及从事
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025药学考试题库及答案详解
- 电商巨头2025年本地生活服务拓展路径研究报告
- 新能源企业2025年国际化市场拓展策略动态调整报告
- 团支部工作条例课件
- 2025中华人民共和国沧源海关招聘2人备考考试题库附答案解析
- 电动环卫车辆跨境清洁设备升级技术路线与市场布局研究报告
- 中学安全教育完整教案库
- 2025年太阳能硅片硅碇行业光伏产品市场前景与风险分析报告
- 九年级化学基础知识复习题与详解
- 2025年丽水莲都区人民医院招聘派遣制员工1人备考考试试题及答案解析
- DL-T 5148-2021水工建筑物水泥灌浆施工技术条件-PDF解密
- 电工技能训练(第6版)中职技工电工类专业全套教学课件
- 泛光夜景照明亮化工程项目实施的重点难点和解决方案
- 输血科三基培训课件
- 小区监控维修方案
- 塑料成型工艺课件
- 《西餐烹调基础》 课件 第六章 基础汤、基础少司和配菜制作
- 孕产妇增补叶酸培训课件
- 传奇类手游运营计划书
- 2024年云南文山交通运输集团公司招聘笔试参考题库含答案解析
- 新视野商务英语视听说(第三版)(下) Unit 1-电子教案
评论
0/150
提交评论