zoukankan      html  css  js  c++  java
  • Oracle阐明函数进修笔记2

       来历:网海拾贝




     情况: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行。




    版权声明: 原创作品,容许转载,转载时请务必以超链接体例标明文章 原始来由 、作者信息和本声明。否则将究查法律责任。

  • 相关阅读:
    xgqfrms™, xgqfrms® : xgqfrms's offical website of GitHub!
    xgqfrms™, xgqfrms® : xgqfrms's offical website of GitHub!
    xgqfrms™, xgqfrms® : xgqfrms's offical website of GitHub!
    xgqfrms™, xgqfrms® : xgqfrms's offical website of GitHub!
    只需这10步,通过历史控制文件恢复数据库
    直播丨Oracle 12.2系列安装
    Python爬虫入门教程 70-100 爬虫原理应用到多种场景,Python下载B站视频
    windows python2.7 安装pyqt5
    Activiti任务参数的设置方式和作用域
    python 多线程2
  • 原文地址:https://www.cnblogs.com/zgqjymx/p/1975917.html
Copyright © 2011-2022 走看看