版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、人力本钱统计分析义务人事管理义务背景 2-1他们工程组如今担任开发一个人事管理系统,他担任人力本钱统计分析报表生成义务。工程经理通知他:报表涉及的两个数据表 DEPARTMENTS、EMPLOYEES 曾经设计好,可经过 dept_emp.txt 脚本创建报表应提供如下信息:各部门人数,工资总额,平均工资,最高工资,最低工资,工资差距指数规范方差除报表外,应采取饼图、柱状图、曲线图等直观方式来显示统计结果义务背景 2-2工程经理通知他经过他开发的报表、图表,人力资源部经理可容易的了解:哪些部门工资程度高?哪些部门工资程度低?哪些部门工资差距比较大?哪些部门工资本钱最高?参考下面的报表设计,有助
2、于他完成义务报表设计 3-1工资程度分析报表报表设计 3-2工资差别分析报表报表设计 3-3人力本钱分析报表关键技术分组聚集函数分组函数引见 APEX 图表创建参见下面的构建步骤报表构建 9-1工资程度分析报表创建页,选择 chart 页类型报表构建 9-2下一步选择 Flash Chart 图表类型下一步, page name 输入: salary_analysis下一步,选择 Do not use tabs 报表构建 9-3下一步,选择 2D Line Chart Type在本页,选择图表类型后,点击 Update 按钮可预览图表效果报表构建 9-4下一步输入 SQL 查询Build Qu
3、ery 按钮可激活查询构造导游,引导他构造查询语句报表构建 9-5创建并运转页编辑本页,添加报表区域报表构建 9-6选择 SQL Report报表构建 9-7输入查询语句,并创建区域,运转页报表构建 9-8工资差别分析报表反复创建图表步骤选择 2D Column 图表类型用下面 SQL 语句来创建SELECT null link, department_name label, VARIANCE(SALARY) 工资方差FROM employees e, departments dWHERE e.department_id = d.department_idGROUP BY department
4、_name;报表构建 9-9人力本钱分析报表反复创建图表步骤选择 3D Pie 图表类型用下面 SQL 语句来创建SELECT null link, department_name label, SUM(SALARY) 工资总额FROM employees e, departments dWHERE e.department_id = d.department_idGROUP BY department_name;图表测试根据他所创建的图表,分析现有数据:哪个部门工资程度最高?哪个部门工资程度差别最大?哪个部门人力本钱最高?作业与练习计算平均提成员工的提成为 salary*COMMISSION
5、_PCT第一种方法:只计算有提成员工的平均提成第二种方法:计算一切员工的平均提成计算员工总人数计算员工的不同工资数计算员工的不同任务种类数目(JOB_ID)总结掌握分组函数运用方法掌握 APEX 图表运用方法分组聚集函数 27-1在SQL 中,以下分组函数可对整个表或一组特定的行执行运算。每个函数前往一个结果。MIN用于存储任何数据类型的列,前往最小值。MAX用于存储任何数据类型的列,前往最大值。 COUNTCOUNT(表达式) 前往表达式列中非空值的数量。COUNT(*) 前往表中满足SELECT 语句的条件的行数。AVG用于存储数值数据的列,计算平均值。SUM用于存储数值数据的列,计算值的
6、总和。分组聚集函数 27-2VARIANCE:用于存储数值数据的列,计算数据在平均值左右的分布情况。例如,假设班级上次检验的平均分是82%,学生的分数范围在40% 到100% 之间,那么此分数的差别将比学生的分数范围在78% 到88% 的情况下大。STDDEV:与variance 类似,规范偏向丈量数据的分布情况。对于平均值大致一样的两组数据,分布越广,规范偏向就越大。 例如,有四个数字: 1、7、4、 8最小值 MIN 是 1最大值 MAX 是 8总和 SUM 是 20 = 1+7+ 4+8数目 COUNT 是 4平均值 AVG 是 5 = SUM/ COUNT方差 VARIANCE 是 (
7、 (1-AVG)* (1-AVG) + (7-AVG) * (7-AVG) + (4-AVG) * (4-AVG) + (8-AVG) * (8-AVG) )/ (COUNT-1) =10规范差 STDDEV 是方差 VARIANCE 的平方根 3.16分组聚集函数 27-3组函数运用要点:组函数会忽略空值。由于任何值和空值进展运算,结果还是空值。忽略空值可确保得到一个运算结果。在下面的例如中,计算平均加班费率时没有运用(null) 值。分组聚集函数 27-4组函数运用要点:SELECT 子句中可有多个基于一样或不同列的组函数。还可运用WHERE 子句,将组函数限制在表的子集上。SELECT
8、MAX(salary), MIN(salary), MIN(employee_id)FROM employeesWHERE department_id = 60;分组聚集函数 27-5组函数运用要点:MIN 和MAX 两个组函数可用于任何数据类型。运用这些函数,可以找出列表中最后一个人的姓名、最低薪金或最早的聘用日期。例如,很容易在按字母排序的雇员列表中找到姓名列在第一行的雇员。SELECT MIN(last_name)FROM employees;分组聚集函数 27-6组函数运用要点:组函数忽略空值。MIN 和MAX 可用于任何数据类型;SUM、AVG、STDDEV 和VARIANCE 只能
9、用于数值数据类型。分组聚集函数 27-7组函数运用语法SELECT col1, GROUP_FUNCTION(col2) ,FROM table1,WHERE conditionGROUP BY col1,HAVING group_conditionORDER BY col1,;假设有 WHERE 子句,先执行 WHERE ,根据其条件排除掉无关记录假设有 GROUP 子句,那么先按其指定列的值将剩余记录分组;否那么一切记录被看作一组对每组记录计算分组函数假设有 HAVING 子句,那么根据其中条件选择要显示哪些分组的结果执行 SELECT 子句,前往相应列执行 ORDER BY子句,对前往结
10、果进展排序分组聚集函数 27-8GROUP BY可以运用GROUP BY 子句将表中的行分成较小的组。然后,可以运用组函数前往每个组的汇总信息。在所示的SELECT 语句中,根据“部门标识对行进展分组,然后将AVG 函数自动运用于每个组。SELECT department_id, AVG(salary)FROM employeesGROUP BY department_id;分组聚集函数 27-9GROUP BY 假设想知道每个部门中雇员的最高薪金,该怎样做?可运用GROUP BY 子句指定根据哪一列对行进展分组?SELECT MAX(salary)FROM employeesGROUP BY
11、 department_id;但如何区分哪个最高薪金属于哪个部门呢? 分组聚集函数 27-10GROUP BY通常,我们采用的方法是在SELECT 列表中包含GROUP BY 列。SELECT department_id, MAX(salary)FROM employeesGROUP BY department_id;分组聚集函数 27-11组函数要求,在SELECT 子句中所列出的任何不属于组函数组成部分的列,都必需在GROUP BY 子句中列出。此例如中有什么错误?SELECT job_id, last_name, AVG(salary)FROM employeesGROUP BY job
12、_id;分组聚集函数 27-12还可运用WHERE 子句排除一些行,然后再将剩余行分组。SELECT department_id, MAX(salary)FROM employeesWHERE last_name KingGROUP BY department_id;分组聚集函数 27-13GROUP BY 原那么运用GROUP BY 子句时,应遵照的重要原那么有:假设SELECT 子句中不仅包含组函数AVG、SUM、COUNT、MAX、MIN、STDDEV、VARIANCE,还包含其它个体列,那么这些个体列还必需出如今GROUP BY 子句中。不能在GROUP BY 子句中运用列别名。WHE
13、RE 子句可在对行进展分组之前排除某些行。分组聚集函数 27-14组内组有时需求将组分为更小的组。例如,您能够希望根据部门对一切雇员进展分组;然后,在每个部门中,按职务进展分组。本例如阐明每个部门中从事每项任务的雇员各有多少。 SELECT department_id, job_id, count(*)FROM employeesWHERE department_id 40GROUP BY department_id, job_id;分组聚集函数 27-15嵌套组函数运用GROUP BY 时,可以嵌套两层组函数。SELECT max(avg(salary)FROM employeesGROUP
14、 by department_id;此查询将前往几个值?答案是一个此查询将找出每个部门的平均薪金,然后从该列表中选择最大值。分组聚集函数 27-16HAVING 假设我们想找出每个部门的最高薪金,但仅针对有多个雇员的部门进展查找,那该怎样做?此例如中有什么错误?SELECT department_id, MAX(salary)FROM employeesWHERE COUNT(*) 1GROUP BY department_id;下一张幻灯片将处理此问题。分组聚集函数 27-17组函数运用要点:不能在WHERE 子句中运用组函数:分组聚集函数 27-18HAVING与运用WHERE 子句限定所
15、选行一样,您可以运用HAVING 子句来限定组。在运用GROUP BY 和HAVING 子句的查询中,将首先对行进展分组,然后运用组函数,这样将仅显示与HAVING 子句匹配的组。WHERE 子句用于限制行;HAVING 子句用于限制由GROUP BY 子句前往的组。 SELECT department_id, MAX(salary)FROM employeesGROUP BY department_idHAVING COUNT(*) 1;分组聚集函数 27-19在SELECT 语句中,虽然可将HAVING 子句用于GROUP BY 子句之前,但建议您按以下所示的顺序放置每条子句。假设运用OR
16、DER BY 子句,请一直将其放在最后!SELECT 列, 组函数FROM 表WHERE GROUP BY HAVING ORDER BY分组聚集函数 27-20DISTINCT 关键字DISTINCT 用于仅前往查询中的非反复值或非反复值的组合。请看右边的查询。假设不运用关键字DISTINCT,该查询将前往D_CDS 表中的一切年份值。SELECT year as CD YearFROM d_cds;分组聚集函数 27-21DISTINCT要消除反复行,请按此处所示运用DISTINCT 关键字。运用DISTINCT 关键字只前往了一切CD 年份一次,而没有反复值。SELECT DISTINC
17、T year AS CD YearFROM d_cds;分组聚集函数 27-22DISTINCT关键字DISTINCT 可与一切组函数一同运用。运用DISTINCT 后,函数将仅思索非反复值。为什么右侧的两个语句生成不同的结果?SELECT SUM(salary)FROM employeesWHERE department_id = 90;SELECT SUM(DISTINCT salary)FROM employeesWHERE department_id = 90;分组聚集函数 27-23DISTINCT将DISTINCT 与组函数如COUNT一同运用时,结果集将前往非反复列值的数量。雇员
18、们一共从事多少种不同的任务?有多少种不同的薪金?SELECT COUNT (DISTINCT job_id)FROM employees;SELECT COUNT (DISTINCT salary)FROM employees;分组聚集函数 27-24COUNTCOUNT(表达式) 前往表达式列中非空值的数量。COUNT(DISTINCT 表达式) 前往表达式列中独一且非空值的数量。SELECT COUNT (YEAR)FROM d_cdsWHERE year 2001;SELECT COUNT (DISTINCT year)FROM d_cdsWHERE year 2001;分组聚集函数 27-25COUNT第一个查询为什么前往null 值?共列出了六条备注,但count 函数只前往了5。为什么?由于COUNT 忽略列中的null 值。SELECT commentsFROM d_play_list_items;SELECT COUNT(comments)FROM d_play_list_items;分组聚集函数 27-26COUNTCOUNT(*) 前往表中满足SELECT 语句的条件的行数。例如,要了解在
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 济宁学院《高频电子线路》2021-2022学年期末试卷
- 济宁学院《彩画静物》2021-2022学年第一学期期末试卷
- 福建省龙岩市长汀县新桥中学2023-2024学年高三下学期3月模拟考试数学试题文试题
- 研究肉类替代品对畜牧业影响的目的与意义
- 肉类替代品生产周期与效率变化研究
- 畜牧业环境效益评估
- 课程设计平板搓丝机
- 进程控制系统课程设计
- 课程设计平面图的内容
- 初中地方特色课程设计
- 儿童股骨干课件
- 小学美术第7课:我的书包 课件 课件
- SHSG0522023年石油化工装置工艺设计包(成套技术)内容规定
- LNG项目试生产(使用)方案备案材料
- 专业技术人员档案(空表)
- 催化反应工程研究进展课件
- 插胃管术操作考核评分标准
- 中医院药学部质量管理文件表格全集2022版
- 8%水泥土施工方案
- 大型活动执行手册终端篇课件
- 中等职业学校语文考试复习课件
评论
0/150
提交评论