ITPub博客

首页 > Linux操作系统 > Linux操作系统 > Oracle常用分析函數

Oracle常用分析函數

原创 Linux操作系统 作者:hky87 时间:2010-04-21 20:09:07 0 删除 编辑
RANK 
 rank() over(partition by ... order by ...) 
根据order by子句中表达式的值,从查询返回的每一行,计算它们与其它行的相对位置。组内的数据按order by子句排序,然后给每一行赋一个号,从而形成一个序列,该序列从1开始,往后累加。每次order by表达式的值发生变化时,该序列也随之增加。有同样值的行得到同样的序号(认为NULL是相等的)。如果两行的确得到同样的排序,则序号将随后跳跃。若两行序号为1,则没有序号2,序列将给组中的下一个行分配值3,dense_rank则没有任何跳跃

select deptno,EMPNO,ENAME ,sal,

rank() over(partition by deptno order by empno) seq 

from emp;

    DEPTNO      EMPNO ENAME             SAL        SEQ

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

        10       1000 JJ               3000          1

        10       1000 xx                             1

        10       7781                                3

        10       7781                                3

        10       7781 CLARK          2572.5          3

        10       7782 CLARK            2450          6

        10       7839 KING             5000          7

        10       7934 MILLER           1300          8

        20       7566 JONES            2975          1

        20       7788 SCOTT            3000          2

        20       7876 ADAMS            1100          3

DENSE_RANK
select deptno,EMPNO,ENAME ,sal,

dense_rank() over(partition by deptno order by empno) seq 

from emp;

    DEPTNO      EMPNO ENAME             SAL        SEQ

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

        10       1000 JJ               3000          1

        10       1000 xx                             1

        10       7781                                2

        10       7781                                2

        10       7781 CLARK          2572.5          2

        10       7782 CLARK            2450          3

        10       7839 KING             5000          4

        10       7934 MILLER           1300          5

        20       7566 JONES            2975          1

        20       7788 SCOTT            3000          2

        20       7876 ADAMS            1100          3

来自 “ ITPUB博客 ” ,链接:https://blog.itpub.net/10314474/viewspace-660370/ ,如需转载,请注明出处,否则将追究法律责任。

下一篇: ROLLUP与CUBE的不同
请登录后发表评论 登录
全部评论

注册时间:2009-10-09

  • 博文量
    87
  • 访问量
    345410