手揣网教程:绿色安全纯净官方版,体验当今速度最快的浏览器!

Oracle区分函数学习笔记2

时间:2024/9/1作者:未知来源:手揣网教程人气:

[摘要]环境:windows 2000 server + Oracle8.1.7 + sql*plus 目的:以oracle自带的scott模式为测试环境,主要通过试验体会分析函数的用法。2.rank()、...
 环境: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行。



全新的路由器不仅让你更稳定快速地连接无线网络,更可以让家中的智能设备连接在一起。



关键词:Oracle区分函数学习笔记2




Copyright © 2012-2018 手揣网教程(http://www.shouchuai.com) .All Rights Reserved 网站地图 友情链接

免责声明:本站资源均来自互联网收集 如有侵犯到您利益的地方请及时联系管理删除,敬请见谅!

QQ:1006262270   邮箱:kfyvi376850063@126.com   手机版