检索具有最新日期的最新值

时间:2018-09-03 10:08:13

标签: sql oracle greatest-n-per-group

我在表中有一些记录,我想获取已插入的最新记录(查看插入日期,在本例中为名为reg_date的列)。

现在,我的查询为我提供了表中的所有记录,但是我只需要查看最新记录。我无法按日期分组,否则我将拥有最新日期。我尝试了GROUP BY MAX(REG_DATE),但出现错误,因为我不能那样使用group。取而代之的是,我将其他东西分组,以使其表现出一些东西。下面是我的代码

select max(reg_date), secretNum 
from REC_HLA
GROUP by secretNum;

再次,我的愿望/目标是仅显示具有最新日期的最新记录。

2 个答案:

答案 0 :(得分:1)

以下应该适合您的情况,相关子查询

select * from REC_HLA  t1
where reg_date in (
select max(reg_date)
from REC_HLA t2
where t1.secretNum=t2.secretNum
GROUP by secretNum
)

答案 1 :(得分:1)

您可以尝试以下代码:

select reg_date, secretNum 
  from REC_HLA
 order by reg_date desc
 fetch first 1 row only
相关问题