ORACLE OVER(PARTITION BY … ORDER BY …)聚合函数用法

ORACLE OVER(PARTITION BY … ORDER BY …)聚合函数用法

需求:
按照类型名称分割成组,取类型名称为"AAA"的最新的一条记录
运用场景:
生产中当表A与表B为1:n关系时,取表B中最新(最旧)或最小(最大)某一值,与表A进行关联.
可能有些道友难理解这句话,会想到为什么两表不直接关联来嵌套取最值,我知道你想的是什么,这个运用场景跟那个两码事好吧(这是高级sql),等真正遇到时就理解了.

SELECT *
  FROM (SELECT ROW_NUMBER() OVER(PARTITION BY T.ID ORDER BY T.UPDATE_DATE DESC) RN,
               T.*
          FROM TABLE T
         WHERE T.TYPE_NAME = 'AAA') P
 WHERE P.RN = 1

猜你喜欢

转载自blog.csdn.net/qq_37980551/article/details/89389513