科技行者

行者学院 转型私董会 科技行者专题报道 网红大战科技行者

知识库

知识库 安全导航

至顶网软件频道新手上路:Oracle分析函数学习笔记

新手上路:Oracle分析函数学习笔记

  • 扫一扫
    分享文章到微信

  • 扫一扫
    关注官方公众号
    至顶头条

  环境:windows 2000 server Oracle8.1.7 sql*plus      目的:以oracle自带的scott模式为测试环境,主要通过试验体会分析函数的用法。

作者:中国IT实验室 来源:中国IT实验室 2007年10月1日

关键字: ORACLE

  • 评论
  • 分享微博
  • 分享邮件

在本页阅读全文(共3页)


  环境:windows 2000 server + Oracle8.1.7 + sql*plus
  
  目的:以oracle自带的scott模式为测试环境,主要通过试验体会分析函数的用法。
  
  2.rank()、dense_rank() 的使用
  
  原表信息:
  
  SQL> break on deptno skip 1 -- 为效果更明显,把不同部门的数据隔段显示。
  SQL> select deptno,ename,sal
  2 from emp
  3 order by deptno,sal desc;
  
    DEPTNO ENAME       SAL
  ---------- ---------- ----------
      10 KING       5000
        CLARK      2450
        MILLER      1300
  
      20 SCOTT      3000
        FORD       3000
        JONES      2975
        ADAMS      1100
        SMITH       800
  
      30 BLAKE      2850
        ALLEN      1600
        TURNER      1500
        WARD       1250
        MARTIN      1250
        JAMES       950
  
  已选择14行。
  
  使用rank()查出各部门薪水前三名的员工姓名、薪水。
  SQL> select * from (
  2 select deptno,rank() over(partition by deptno order by sal desc) rk,ename,sal
  3 from emp
  4 )
  5 where rk<=3
  6 /
    DEPTNO     RK ENAME       SAL
  ---------- ---------- ---------- ----------
      10     1 KING       5000
            2 CLARK      2450
            3 MILLER      1300
  
      20     1 SCOTT      3000
            1 FORD       3000
            3 JONES      2975
  
      30     1 BLAKE      2850
            2 ALLEN      1600
            3 TURNER      1500
  
  已选择9行。
  
  使用dense_rank()查出各部门薪水前三名的员工姓名、薪水。
  SQL> select * from (
  2 select deptno,dense_rank() over(partition by deptno order by sal desc) drk,ename,sal
  3 from emp
  4 )
  5 where drk<=3
  6 /
    DEPTNO    DRK ENAME       SAL
  ---------- ---------- ---------- ----------
      10     1 KING       5000
            2 CLARK      2450
            3 MILLER      1300
  
      20     1 SCOTT      3000
            1 FORD       3000
            2 JONES      2975
            3 ADAMS      1100
  
      30     1 BLAKE      2850
            2 ALLEN      1600
            3 TURNER      1500
  
  
  已选择10行。

查看本文来源

    • 评论
    • 分享微博
    • 分享邮件
    邮件订阅

    如果您非常迫切的想了解IT领域最新产品与技术信息,那么订阅至顶网技术邮件将是您的最佳途径之一。

    重磅专题
    往期文章
    最新文章