oracle很有用的统计函数rank和cume

oracle 10g 里面有scott用户

alter user scott account unlock ;

使用 scott 密码 tiger 进入,修改密码,改用户有emp 表;

rank函数 :

SELECT deptno, job, SUM(sal),
RANK() OVER(PARTITION BY deptno ORDER BY
SUM(sal) DESC)
AS jobdep_rank,RANK() OVER(ORDER BY SUM(sal) DESC) AS sumsal_rank
FROM emp
GROUP BY deptno, job ;

DEPTNO JOB SUM(SAL) JOBDEP_RANK SUMSAL_RANK
20 ANALYST 6000 1 1
30 SALESMAN 5600 1 2
10 PRESIDENT 5000 1 3
20 MANAGER 2975 2 4
30 MANAGER 2850 2 5
10 MANAGER 2450 2 6
20 CLERK 1900 3 7
10 CLERK 1300 3 8
30 CLERK 950 3 9

cume_dist

SELECT deptno, job, SUM(sal),
CUME_DIST() OVER(PARTITION BY deptno ORDER BY
SUM(sal) DESC)
AS cume_dist_per_dep
FROM emp
GROUP BY deptno, job 
ORDER BY deptno, SUM(sal);

DEPTNO JOB SUM(SAL) CUME_DIST_PER_DEP
10 CLERK 1300 1
10 MANAGER 2450 0.666667
10 PRESIDENT 5000 0.333333
20 CLERK 1900 1
20 MANAGER 2975 0.666667
20 ANALYST 6000 0.333333
30 CLERK 950 1
30 MANAGER 2850 0.666667
30 SALESMAN 5600 0.333333

有了这两个有用的函数,排名和百分比很快就能得到了吧。

时间: 2024-10-13 17:23:22

oracle很有用的统计函数rank和cume的相关文章

谁说运维用ELK没用?我就说很有用,只是你之前不会用【转】

1.安装JDK 1)登陆ORACLE官网 (http://www.oracle.com/technetwork/java/javase/downloads/index-jsp-138363.html )下载JDK 2)将jdk包放到目录/home/app下,执行解压命令 tar -xvf jdk-8u101-linux-i586.tar.gz 3)添加java环境变量 export JAVA_HOME=/home/app/java/jdk1.8.0_101 export PATH=$JAVA_H

对于Linux系统管理员很有用的16个在线工具

1. ExplainShell.com 命令解释 ??对于Linux用户来说每天都会写各种命令和脚本,那么你可以使用这个网站工具来查看命令式如何工作的,这样可以避免不必要的错误出现:也是一个很好的学习命令的方式 2. BashrcGenerator.com 定制个性命令提示符 ??简单说就是个性化生成命令提示符,可将生成的代码写入到用户家目录的.bashrc或者可以设置全局变量文件/etc/profile对所有用户生效 ??可参考:http://stackoverflow.com/questio

Web 开发中 20 个很有用的 CSS 库

转自:http://www.oschina.net/translate/css-libraries-for-developers 在过去的几年中,CSS已经成为一大部分开发者和设计者的最爱,因为它提供了一系列功能和特性.每个月都有无数个围绕CSS的工具被开发者发布以简化WEB开发.像CSS 库,框架,应用这样的工具能够为开发者做很多事,而且可以使开发者创造出创新立异的WEB应用. 在这篇文件章中我们找到了一系列对开发者有用的CSS库,它们能帮助开发者在一定的期限内取得有创造性和创新性的成果.我们

19个很有用的 JavaScript库推荐

流行的 JavaScript 库有jQuery,MooTools,Prototype,Dojo和YUI等,这些 JavaScript 库功能丰富,加上它们众多的插件,几乎能实现任何你需要的功能 然而需要实现一些特定的功能,则可以选择功能更专一的轻量库,今天这篇文章与大家分享16个很有用的 JavaScript 库. Blackbird: Open Source JavaScript Logging UtilityBlackbird 是一款非常酷的 JavaScript 调试工具,带有一个漂亮的界

java android布局里的控件值 反射绑定给实体类,实体类绑定给控件,表单提交绑定很有用

注意了:根据实际情况,添加实体里字段的类型,控件类型的判断才可使用.这里控件只有TextView EditText 实体类字段只有String int类型,带值的控件添加tag ,值和实体类的字段值一致 package ice.ui.service; import java.lang.reflect.Field;import java.lang.reflect.InvocationTargetException;import java.lang.reflect.Method;import jav

Unix / 类 Unix shell 中有哪些很酷很冷门很少用很有用的命令?(转)

著作权归作者所有. 商业转载请联系作者获得授权,非商业转载请注明出处. 作者:孙立伟 链接:http://www.zhihu.com/question/20140085/answer/14107336 来源:知乎 这个问题quora上有人提过 What are some lesser known but useful Unix commands? ,已经有不少答案了,我个人已经从这些答案中学到不少,这里我只是照搬过来,然后加上自己的解释. lsof: 列出所有打开的文件.举例:'lsof -p

20+个很有用的 jQuery 的 Google 地图插件

Google 地图在寻找我们想要了解的商店或者其它有趣的地方这种用途方面很流行和实用. 地图被一些商店特地集成到了它们的网站上面,这样就可以让人们容易找到它们的所在. 尽管其并不容易被集成,Google 地图使用起来还是简单且引人注目的. 在你的站点上集成它需要一个漫长且复杂的过程. 但多亏了拥有一个许多实用Google地图插件资源库的jQuery. 你只需要将jQeury地图插件安装到你的站点上,然后就可以开始根据你的业务需要来设计简单但能吸引人的地图了. 在本文中,我会列出一堆实用的jQue

[转载]对于Linux系统管理员很有用的16个在线工具

对于Linux系统管理员很有用的16个在线工具 08/15. 2014 1. ExplainShell.com 命令解释 对于Linux用户来说每天都会写各种命令和脚本,那么你可以使用这个网站工具来查看命令式如何工作的,这样可以避免不必要的错误出现:也是一个很好的学习命令的方式 2. BashrcGenerator.com 定制个性命令提示符 简单说就是个性化生成命令提示符,可将生成的代码写入到用户家目录的.bashrc或者可以设置全局变量文件/etc/profile对所有用户生效 可参考:ht

Linux系统一些不大常用却很有用的命令

which命令 用于查找并显示给定命令的绝对路径,环境变量PATH中保存了查找命令时需要遍历的目录.which命令会在环境变量PATH设置的目录里查找符合条件的文件.也就是说,使用which命令,就可以看到某个系统命令是否存在,以及执行的到底是哪一个位置的命令. whereis命令 用来定位命令的二进制程序.源代码文件和man手册页等相关文件的路径. locate/slocate命令 用来查找文件或目录. type命令 用来显示指定命令的类型,判断给出的命令是内部命令还是外部命令. getcon