oracle MAX/MIN 分析函数小结

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博客 ” ,链接:http://blog.itpub.net/30741760/viewspace-2100001/,如需转载,请注明出处,否则将追究法律责任。

转载于:http://blog.itpub.net/30741760/viewspace-2100001/

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值