查询各部门中薪水分布处于25%、50%、75%位置的人的薪水,percent_rank()是确定排行中的相对位置。

查询各部门中薪水分布处于25%、50%、75%位置的人的薪水,percent_rank()是确定排行中的相对位置。

create table EMP

(

EMPNO NUMBER(4) not null,

ENAME VARCHAR2(10),

JOB VARCHAR2(9),

MGR NUMBER(4),

HIREDATE DATE,

SAL NUMBER(7,2),

COMM NUMBER(7,2),

DEPTNO NUMBER(2)

);

insert into emp (EMPNO, ENAME, JOB, MGR, HIREDATE, SAL, COMM, DEPTNO)

values (7369, 'SMITH', 'CLERK', 7902, to_date('17-12-1980', 'dd-mm-yyyy'), 800.00, null, 20);

insert into emp (EMPNO, ENAME, JOB, MGR, HIREDATE, SAL, COMM, DEPTNO)

values (7499, 'ALLEN', 'SALESMAN', 7698, to_date('20-02-1981', 'dd-mm-yyyy'), 1600.00, 300.00, 30);

insert into emp (EMPNO, ENAME, JOB, MGR, HIREDATE, SAL, COMM, DEPTNO)

values (7521, 'WARD', 'SALESMAN', 7698, to_date('22-02-1981', 'dd-mm-yyyy'), 1250.00, 500.00, 30);

insert into emp (EMPNO, ENAME, JOB, MGR, HIREDATE, SAL, COMM, DEPTNO)

values (7566, 'JONES', 'MANAGER', 7839, to_date('02-04-1981', 'dd-mm-yyyy'), 2975.00, null, 20);

insert into emp (EMPNO, ENAME, JOB, MGR, HIREDATE, SAL, COMM, DEPTNO)

values (7654, 'MARTIN', 'SALESMAN', 7698, to_date('28-09-1981', 'dd-mm-yyyy'), 1250.00, 1400.00, 30);

insert into emp (EMPNO, ENAME, JOB, MGR, HIREDATE, SAL, COMM, DEPTNO)

values (7698, 'BLAKE', 'MANAGER', 7839, to_date('01-05-1981', 'dd-mm-yyyy'), 2850.00, null, 30);

insert into emp (EMPNO, ENAME, JOB, MGR, HIREDATE, SAL, COMM, DEPTNO)

values (7782, 'CLARK', 'MANAGER', 7839, to_date('09-06-1981', 'dd-mm-yyyy'), 2450.00, null, 10);

insert into emp (EMPNO, ENAME, JOB, MGR, HIREDATE, SAL, COMM, DEPTNO)

values (7788, 'SCOTT', 'ANALYST', 7566, to_date('19-04-1987', 'dd-mm-yyyy'), 3000.00, null, 20);

insert into emp (EMPNO, ENAME, JOB, MGR, HIREDATE, SAL, COMM, DEPTNO)

values (7839, 'KING', 'PRESIDENT', null, to_date('17-11-1981', 'dd-mm-yyyy'), 5000.00, null, 10);

insert into emp (EMPNO, ENAME, JOB, MGR, HIREDATE, SAL, COMM, DEPTNO)

values (7844, 'TURNER', 'SALESMAN', 7698, to_date('08-09-1981', 'dd-mm-yyyy'), 1500.00, 0.00, 30);

insert into emp (EMPNO, ENAME, JOB, MGR, HIREDATE, SAL, COMM, DEPTNO)

values (7876, 'ADAMS', 'CLERK', 7788, to_date('23-05-1987', 'dd-mm-yyyy'), 1100.00, null, 20);

insert into emp (EMPNO, ENAME, JOB, MGR, HIREDATE, SAL, COMM, DEPTNO)

values (7900, 'JAMES', 'CLERK', 7698, to_date('03-12-1981', 'dd-mm-yyyy'), 950.00, null, 30);

insert into emp (EMPNO, ENAME, JOB, MGR, HIREDATE, SAL, COMM, DEPTNO)

values (7902, 'FORD', 'ANALYST', 7566, to_date('03-12-1981', 'dd-mm-yyyy'), 3000.00, null, 20);

insert into emp (EMPNO, ENAME, JOB, MGR, HIREDATE, SAL, COMM, DEPTNO)

values (7934, 'MILLER', 'CLERK', 7782, to_date('23-01-1982', 'dd-mm-yyyy'), 1300.00, null, 10);

commit;

SQL> select e.ename,e.sal,e.deptno,

percent_rank() over(partition by deptno order by sal desc) p_rank,

PERCENTILE_CONT(0) within group(order by sal desc)

over(partition by deptno) max_sal ,

PERCENTILE_CONT(0.25) within group(order by sal desc)

over(partition by deptno) max_sal_25,

PERCENTILE_CONT(0.5) within group(order by sal desc)

over(partition by deptno) max_sal_50,

PERCENTILE_CONT(0.75) within group(order by sal desc)

over(partition by deptno) max_sal_75

from emp e;

ENAME SAL DEPTNO P_RANK MAX_SAL MAX_SAL_25 MAX_SAL_50 MAX_SAL_75

---------- ---------- ---------- ---------- ---------- ---------- ---------- ----------

KING 5000 10 0 5000 3725 2450 1875

CLARK 2450 10 .5 5000 3725 2450 1875

MILLER 1300 10 1 5000 3725 2450 1875

SCOTT 3000 20 0 3000 3000 2975 1100

FORD 3000 20 0 3000 3000 2975 1100

JONES 2975 20 .5 3000 3000 2975 1100

ADAMS 1100 20 .75 3000 3000 2975 1100

SMITH 800 20 1 3000 3000 2975 1100

BLAKE 2850 30 0 2850 1575 1375 1250

ALLEN 1600 30 .2 2850 1575 1375 1250

TURNER 1500 30 .4 2850 1575 1375 1250

WARD 1250 30 .6 2850 1575 1375 1250

MARTIN 1250 30 .6 2850 1575 1375 1250

JAMES 950 30 1 2850 1575 1375 1250

已选择14行。 本条技术文章来源于互联网,如果无意侵犯您的权益请点击此处反馈版权投诉 本文系统来源:php中文网

oracle 百分位数,Oracle分析函数PERCENTILE_CONT相关推荐

  1. oracle中over()分析函数的用法

    摘自: http://www.poluoluo.com/jzxy/201004/81921.html 百度文库也记载了oracle中over()分析函数的用法 在泡坛子的时候中无意中发现了这个函数,才 ...

  2. 利用Oracle内置分析函数进行高效统计汇总

    利用Oracle内置分析函数进行高效统计汇总 分析函数是Oracle从8.1.6开始引入的一个新的概念,为我们分析数据提供了一种简单高效的处理方式.在分析函数出现以前,我们必须使用自联查询,子查询或者 ...

  3. oracle取最小值怎么写,【Oracle】oracle取最大值和最小值的几个方法汇总

    (1)oracle使用keep分析函数取最值记录 --取工资sal最大的雇员姓名及其工资,以及工资sal最少的雇员姓名及其工资 selectdeptno, empno, ename, sal,max( ...

  4. Linux下docker安装配置oracle,oracle创建用户并远程连接,实测可用!

    最近在给同学弄毕业设计的数据库,因为oracle在个人电脑上极不稳定,所以他的电脑数据库崩溃了,这时候我就在docker上为他拉了一个oracle,解决了问题. docker的安装共有以下几步,实测没 ...

  5. oracle自动化,Oracle 自动化备份脚本

    备份脚本,基于linux,windows环境需要适当修改. 主脚本,会调用2,3步骤的rman.sql&status.sql $ more main.sh #set env ######### ...

  6. it oracle 培训,Oracle数据库技术培训_OracleDBA数据库工程师_Oracle数据库在线学习视频教程_IT职业培训-51CTO学院_精培学院...

    第一阶段:企业级Oracle数据库实战入门与集群实施 特色:本阶段部分内容为OCP/OCM课程内容,以企业实战项目为主导讲解,实用性更强. 第1章 Oracle数据库高级工程师职业发展与学习方法 第2 ...

  7. 【oracle】oracle经典sql,exception,database link纠错

    [oracle]oracle经典sql,exception,database link纠错 1111-01 oracle经典sql,exception,database link纠错 1.给表tabl ...

  8. oracle v$system_event,45.Oracle杂记——Oracle常用动态视图v$system_event

    45.Oracle杂记--Oracle常用动态视图v$system_event 视图v$system_event 显示一个事件的总共等待. 如果不支持计时机制,那么TIME_WAITED和AVERAG ...

  9. oracle 202,Oracle Certification 1Z0-202题库

    Oracle Other Oracle Certification 1Z0-202 考题名称:Siebel 8 Consultant Exam 版本号:V2.40 更新时间:2011-09-14 考题 ...

最新文章

  1. 三相pmsm矢量控制仿真模型_学术|基于新型滑模观测器的永磁同步电机无传感器矢量控制系统...
  2. linux手机摩托,Linux操作系统触控智能机 摩托ZN4图赏
  3. Apache HttpComponents在App里访问HTTP服务
  4. svn的使用总结(待补充)
  5. latex 公式去掉不要编号
  6. 十四、Oracle学习笔记:集合操作
  7. 体验MSN聚酷(Juku)
  8. SQL Server数据库基础知识——数据库存储过程怎么写
  9. 在本地机上使用VNC远程连接CentOs7
  10. 三种方法求解Fibonacci数列的递推公式为:Fn=Fn-1+Fn-2,其中F1=F2=1,当n比较大时,Fn也非常大,现在我们想知道,Fn除以10007的余数是多少。
  11. 【ORACLE】RAC 磁盘超时,导致数据库重启 WARNING: Waited 15 secs for write IO to PST disk 0 in group 1.
  12. SQL Server 数据库中添加文件组和数据文件
  13. ubuntu实时监测显卡进程的方法
  14. 【Python学习笔记】利用mplfinance画K线图
  15. 网页打开android app,网页打开Android APP
  16. 腾讯反360秘密会议
  17. 无心剑中译兰斯顿·休斯《梦想》
  18. [原创]软件开发过程中的QA与QC
  19. 搜狐视频P2P技术揭秘 - 分享率控制篇
  20. 关于名片全能王扫描,返回切边增强图片web api的图片数据分割

热门文章

  1. 一文搞懂人脸识别那点事---人脸识别方案summary
  2. 人脸识别方案(一)-ocr
  3. ESP8266固件烧录教程
  4. 哈希表与哈希(Hash)算法
  5. 数值型数据的表示(2.0)
  6. 微信小程序 - tab分页实现
  7. java8新特性总结——lambda表达式
  8. 短视频查重机制及去重方法
  9. 奔跑吧恐龙----基于JavaSwing的一个跑酷游戏
  10. dsoframer-在线编辑office文档,一款开源的由微软提供