Oracle KEEP 分析函数

Oracle中为了解决子集合中查询最值的问题,提出了KEEP()语法。

典型案列如:在每个部门中找出年龄最小的人中的最高工资。

基本语法结构:

MAX(COL2) KEEP (DENSE_RANK FIRST/LAST ORDER BY COL1) PARTITION BY()

http://blog.csdn.net/hustzw07/article/details/51190201

拓展:

查找年龄最小工资最高的人:

方法:使用First_value函数就可以。 FIRST_VALUE(EMPLOYEE_ID) OVER(PARTITION BY DEPARTMENT ORDER BY AGE, SALARY DESC)

原文地址:https://www.cnblogs.com/davablog/p/7965701.html