oracle over 函数几个例子
测试使用的数据为scott/tiger模式下的emp表:

我们使用JOB和SAL这两个列测试:

上面语句指按照职业JOB分组(partition by job)然后在每个分组内,按照薪水(sal)进行排名。注意到并列名次,例如SLAESMAN这个职业的,有两个1250并列第一,1500就是第3名了。
将RANK()换成DENSE_RAND看看区别:

可以看到,在处理并列问题上,并列的名次不占用名次编号。
另外还有一个常用的分析函数是SUM() OVER:

SUM() OVER计算累计求和,从第一行开始,累计SAL列的值,注意到order by sal,如果不按照sal排序,结果会是这样:

如果要针对每个分组进行分别累计求和,则只需加上分区PARTITION BY:

oracle over 函数几个例子的更多相关文章
- Oracle 正则表达式函数-REGEXP_SUBSTR 使用例子
原文在这 戳 REGEXP_SUBSTR 5个参数 第一个是输入的字符串 第二个是正则表达式 第三个是标识从第几个字符开始正则表达式匹配.(默认为1) 第四个是标识第几个匹配组.(默认为1) 第五个是 ...
- Oracle 正则表达式函数-REGEXP_INSTR 使用例子
原文在这 戳 REGEXP_INSTR 6个参数 第一个是输入的字符串 第二个是正则表达式 第三个是标识从第几个字符开始正则表达式匹配.(默认为1) 第四个是标识第几个匹配组.(默认为1) 第五个是指 ...
- Oracle 正则表达式函数-REGEXP_LIKE 使用例子
原文在这 戳 REGEXP_LIKE 3个参数 第一个是输入的字符串 第二个是正则表达式 第三个是取值范围: i:大小写不敏感: c:大小写敏感: n:点号 . 不匹配换行符号: m:多行模式: x: ...
- Oracle 正则表达式函数-REGEXP_REPLACE 使用例子
原文在这: 戳 REGEXP_REPLACE 6个参数 第一个是输入的字符串 第二个是正则表达式 第三个是替换的字符 第四个是标识从第几个字符开始正则表达式匹配.(默认为1) 第五个是标识第几个匹配组 ...
- oracle add_months函数
oracle add_months函数 add_months 函数主要是对日期函数进行操作,举例子进行说明 add_months 有两个参数,第一个参数是日期,第二个参数是对日期进行加减的数字(以月为 ...
- Oracle over函数
Oracle over函数 SQL code: sql over的作用及用法RANK ( ) OVER ( [query_partition_clause] order_by_clause )DE ...
- Oracle正则表达式函数:regexp_like、regexp_substr、regexp_instr、regexp_replace
Oracle正则表达式函数:regexp_like.regexp_substr.regexp_instr.regexp_replace --去掉所有特殊字符,只剩字母 SELECT REGEXP ...
- Oracle DECODE函数的语法介绍
Oracle DECODE函数功能很强,下面就为您详细介绍Oracle DECODE函数的用法,希望可以让您对Oracle DECODE函数有更多的了解. Oracle DECODE函数 Oracle ...
- Oracle常用函数:DateDiff() 返回两个日期之间的时间间隔自定义函数
首先在oracle中没有datediff()函数可以用以下方法在oracle中实现该函数的功能:1.利用日期间的加减运算天:ROUND(TO_NUMBER(END_DATE - START_DATE) ...
随机推荐
- Firefox下载附件乱码的解决办法
通过在http的header里设置fileName下载附件时,中文文件名通过chrome浏览器下载时正常,通过firefox下载时为乱码: 原来的Java代码: response.addHeader( ...
- full visualization vs part virtualization
https://stackoverflow.com/questions/21462581/what-is-the-difference-between-full-para-and-hardware-a ...
- org.activiti.engine.activitiexception:version of activiti database(5.22) is more recent than the engine(5.12)
公司项目启动出现报错,百度查询结果如下:链接地址 org.activiti.engine.ActivitiException: Version of activiti database (5.15.1 ...
- Oracle中计算两个日期时间的差
--方法1 select floor((sysdate - to_date('2006-09-01 08:00:00', 'yyyy-mm-dd hh24:mi:ss'))) as sDays fro ...
- 深度学习(pytorch)-1.基于简单神经网络的图片自动分类
这是pytorch官方的一个例子 官方教程地址:http://pytorch.org/tutorials/beginner/blitz/cifar10_tutorial.html#sphx-glr-b ...
- shell 之扫描ip段
#!/bin/sh domain=`echo $1|awk -F"." '{print $1"."$2"."$3"."} ...
- 将前台页面的数据传到后台的方法(不调用ajax,少量数据)
1.前台画面:在页面中加入form和runat = "server"的方法并加入触发事件 <form method="post" runat=" ...
- 学习java的阶段性理解(其它语言也一样)
打算从今天开始学java啊,待会滚去找资料了.现在谈一下学习java阶段性的理解.由于现在对java真的啥也不知道啊,不过还是要瞎鸡儿写点自己的看法,以下看法应该也使适用于其它语言: 第一阶段,入门级 ...
- 初学io
IO流: 01.File 创建文件 //创建文件夹 private static void mkdirs() { System.out.println("请您输入创建的文件夹名称:(默认是E ...
- [ 随手记 2 ] C/C++ 数组/指针/传数组到函数/指针数组/数组指针
1.=================================================================== 1,数组是一块内存连续的数据.2,指针是一个指向内存空间的变 ...