ITPub博客

首页 > 数据库 > Oracle > oracle MAX/MIN 分析函数小结

oracle MAX/MIN 分析函数小结

原创 Oracle 作者:oracle0215 时间:2016-05-14 22:40:59 0 删除 编辑

1、通常用法:

select deptno,empno,ename,sal,

       MIN(SAL) OVER(partition by deptno order by hiredate) minsal,

       MAX(SAL) OVER(partition by deptno order by hiredate) maxsal

from   emp;

DEPTNO EMPNO ENAME            SAL     MINSAL     MAXSAL

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

    10  7782 CLARK        2450.00       2450       2450

    10  7839 KING         5000.00       2450       5000

    10  7934 MILLER       1300.00       1300       5000

    20  7369 SMITH         800.00        800        800

    20  7566 JONES        2975.00        800       2975

    20  7902 FORD         3000.00        800       3000

    20  7788 SCOTT        3000.00        800       3000

    20  7876 ADAMS        1100.00        800       3000

    30  7499 ALLEN        1600.00       1600       1600

    30  7521 WARD         1250.00       1250       1600

    30  7698 BLAKE        2850.00       1250       2850

    30  7844 TURNER       1500.00       1250       2850

    30  7654 MARTIN       1250.00       1250       2850

    30  7900 JAMES         950.00        950       2850

 

查出在本分区内当前行或当前行以上范围内的最大和最小值。
需要注意的是:

1、不加partition,则是从第一行开始,maxsal的值保持不变,直到碰到比它大的值为止,然后又变成较大的值,

再一直往下寻找。

DEPTNO EMPNO ENAME            SAL     MINSAL     MAXSAL

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

    20  7369 SMITH         800.00        800        800

    30  7499 ALLEN        1600.00        800       1600

    30  7521 WARD         1250.00        800       1600

    20  7566 JONES        2975.00        800       2975

    30  7698 BLAKE        2850.00        800       2975

    10  7782 CLARK        2450.00        800       2975

    30  7844 TURNER       1500.00        800       2975

    30  7654 MARTIN       1250.00        800       2975

    10  7839 KING         5000.00        800       5000

    30  7900 JAMES         950.00        800       5000

    20  7902 FORD         3000.00        800       5000

    10  7934 MILLER       1300.00        800       5000

 

2、如果没有order by,则在全表搜索:

DEPTNO EMPNO ENAME            SAL     MINSAL     MAXSAL

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

    20  7369 SMITH         800.00        800       5000

    30  7499 ALLEN        1600.00        800       5000

    30  7521 WARD         1250.00        800       5000

    20  7566 JONES        2975.00        800       5000

    30  7654 MARTIN       1250.00        800       5000

    30  7698 BLAKE        2850.00        800       5000

    10  7782 CLARK        2450.00        800       5000

    20  7788 SCOTT        3000.00        800       5000

 

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

请登录后发表评论 登录
全部评论

注册时间:2015-12-24

  • 博文量
    7
  • 访问量
    22247