oracle查询中over(partition by ...order by ...)用法

例:

rank() over(partition by deptno order by sal desc) rank

解释:

deptno -- 部门, sal -- 工资

over:  在什么条件之上。
partition by e.deptno:  按部门编号划分(分区)。
order by e.sal desc:  按工资从高到低排序(使用rank()/dense_rank() 时,必须要带order by否则非法)
rank():  分级

整个语句的意思就是:在按部门划分的基础上,按工资从高到低对雇员进行分级,“级别”由从小到大的数字表示。

原文地址:https://www.cnblogs.com/LLSutdy/p/8509442.html

时间: 2024-08-27 02:30:38

oracle查询中over(partition by ...order by ...)用法的相关文章

Oracle中的 row_number() over (partition by order by ) 用法

oracle 里面经常这样用 select col1,col2..., row_number() over (partition by colx order by coly) from table_name;; 这句话的意思是把表中的数值按照colx 分组,每一组内部按照coly排序,同时 row_number()返回排序之后该记录在改组内部的序号. 比如我们知道有emp表如下: SQL> SELECT * FROM SCOTT.EMP; EMPNO ENAME JOB MGR HIREDATE

row_number() over (partition by....order by...)用法 分组排序

转载来源:http://www.cnblogs.com/Kazaf/archive/2011/06/30/2094015.html row_number() OVER (PARTITION BY COL1 ORDER BY COL2) 表示根据COL1分组,在分组内部根据 COL2排序,而此函数计算的值就表示每组内部排序后的顺序编号(组内连续的唯一的) SELECT G.*, ROW_NUMBER() OVER(PARTITION BY a ,b ORDER BY c DESC) ROWN fr

在Oracle PL-SQL中,between and 函数的用法

例子: select * from table_test where creatdate between to_date('2009-11-1 8:47:14','yyyy-mm-dd hh24:mi:ss') and to_date('2009-12-1 8:47:14','yyyy-mm-dd hh24:mi:ss') 推荐使用: select * from table_test where creatdate >= to_date('2009-11-01 8:47:14','yyyy-MM

Oracle查询总结

-------------------------------多表查询-------------------------------------- --笛卡尔积查询. select * from emp,dept;--结果为64条,emp表有14条,dept表有4条 --别名查询 --改变查询后的结果显示的列名,在字段后面写要显示的列名(注意一定要用双引号括起来,oracle查询中之后这里用到双引号!) select ename "name" ,loc "地点" f

Oracle高级查询之over(partition by...)

为了方便学习和测试,所有的例子都是在Oracle自带用户Scott下建立的. [sql] view plain copy print? 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   N

oracle 之分析函数 over (partition by ...order by ...)

一:分析函数overOracle从8.1.6开始提供分析函数,分析函数用于计算基于组的某种聚合值,它和聚合函数的不同之处是对于每个组返回多行,而聚合函数对于每个组只返回一行. 1.分析函数和聚合函数的不同之处: 分析函数和聚合函数很多是同名的,意思也一样,只是聚合函数用group by分组,每个分组返回一个统计值,而分析函数采用partition by分组,并且每组每行都可以返回一个统计值.简单的说就是聚合函数返回统计结果,分析函数返回明细加统计结果. (一).分析函数语法: FUNCTION_

软件开发中oracle查询常用方法总结

上次新霸哥和大家讲解了一些关于oracle的知识发现大家对oracle还是比较感兴趣的,下面新霸哥就大家比较关系的oracle中常用的查询有哪几种?做个和oracle相关的开发的朋友可能会知道答案,但是刚接触过oracle的朋友可能还不知道是怎么回事.今天,新霸哥将在此给大家做一个详细的介绍. 多表连接查询 连接多表 1. 笛卡尔积 在没有任何过滤条件的情况下,左表的任意一行记录 与 右表的任意记录进行连接 2. 使用连接查询 下面新霸哥简单的介绍一下语法1:select columnList

oracle分层查询中的start with和connect by(树结构查询)

来源:  http://blog.csdn.net/itmyhome1990/article/details/16338637 ORACLE是一个关系数据库管理系统,它用表的形式组织数据,在某些表中的数据还呈现出树型 结构的联系. 例如有如下案例: 数据为节选,字段值含义分别为税务机构代码.税务机构名称.上级税务机构代码,税务机构级别 select * from extern_dm_swjg查询的时候默认顺序就是上面的顺序,可以看出是混乱的并没有特殊结构特征. 而希望的结果如下图: sj_swj

转,Oracle中关于处理小数点位数的几个函数,取小数位数,Oracle查询函数

关于处理小数点位数的几个oracle函数() 1. 取四舍五入的几位小数 select round(1.2345, 3) from dual; 结果:1.235 2. 保留两位小数,只舍 select trunc(1.2345, 2) from dual; 结果:1.23 select trunc(1.2399, 2) from dual; 结果:1.23 3.取整数 返回大于或等于x的最大整数: SQL> select ceil(23.33) from dual; 结果: 24 返回等于或小于