0
点赞
收藏
分享

微信扫一扫

oracle 分析函数 FIRST_VALUE、LAST_VALUE


用SCOTT/TIGER登录。


FIRST_VALUE、LAST_VALUE是两个分析函数。返回结果集中排在第一位和最后一位的值。


使用FIRST_VALUE:

SELECT DEPTNO, JOB, SUM(SAL), FIRST_VALUE(SUM(SAL)) OVER (PARTITION BY DEPTNO ORDER BY SUM(SAL)) 
FROM EMP GROUP BY DEPTNO, JOB ORDER BY DEPTNO, JOB;



结果:

oracle 分析函数 FIRST_VALUE、LAST_VALUE_返回结果


使用LAST_VALUE:

SELECT DEPTNO, JOB, SUM(SAL), LAST_VALUE(SUM(SAL)) OVER (PARTITION BY DEPTNO ORDER BY SUM(SAL) ROWS BETWEEN UNBOUNDED PRECEDING AND UNBOUNDED FOLLOWING) 
FROM EMP GROUP BY DEPTNO, JOB ORDER BY DEPTNO, JOB;



结果:

oracle 分析函数 FIRST_VALUE、LAST_VALUE_返回结果_02


对于LAST_VALUE,要加

ROWS BETWEEN UNBOUNDED PRECEDING AND UNBOUNDED FOLLOWING


否则,SQL如:

SELECT DEPTNO, JOB, SUM(SAL), LAST_VALUE(SUM(SAL)) OVER (PARTITION BY DEPTNO ORDER BY SUM(SAL)) 
FROM EMP GROUP BY DEPTNO, JOB ORDER BY DEPTNO, JOB;



结果:

oracle 分析函数 FIRST_VALUE、LAST_VALUE_返回结果_03


就不对了。


举报

相关推荐

0 条评论