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

Posted Lucas_zou

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了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():  分级

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




以上是关于oracle查询中over(partition by ...order by ...)用法的主要内容,如果未能解决你的问题,请参考以下文章

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

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

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

“over partition by”查询的基数错误

Oracle - SELECT DENSE_RANK OVER(ORDER BY、SUM、OVER 和 PARTITION BY)

Junit 测试用例 - HSQLDB count(...) over (partition ... order by ...)