甲骨文:以最大日期记录

前端之家收集整理的这篇文章主要介绍了甲骨文:以最大日期记录前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
我们假设我提取一些数据集.

SELECT A,date
FROM table

而且我只想记录最大日期(每个A值).我可以写

SELECT A,col_date
  FROM TABLENAME t_ext
 WHERE col_date = (SELECT MAX (col_date)
                     FROM TABLENAME t_in
                    WHERE t_in.A = t_ext.A)

但是我的查询真的很长…使用ANALYTICAL FUNCTION做一个最紧凑的方法呢?

分析函数方法看起来像
SELECT a,some_date_column
  FROM (SELECT a,some_date_column,rank() over (partition by a order by some_date_column desc) rnk
          FROM tablename)
 WHERE rnk = 1

请注意,根据您如何处理关系(或者数据模型中关系是否可能),您可能需要使用ROW_NUMBER或DENSE_RANK分析函数而不是RANK.

猜你在找的Oracle相关文章