前端之家收集整理的这篇文章主要介绍了
甲骨文:以最大日期记录,
前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
我们假设我
提取一些数据集.
即
SELECT A,date
FROM table@H_403_4@
而且我只想记录最大日期(每个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)@H_403_4@
但是我的查询真的很长…使用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@H_403_4@
请注意,根据您如何处理关系(或者数据模型中关系是否可能),您可能需要使用ROW_NUMBER或DENSE_RANK分析函数而不是RANK.