这个问题在这里已有答案:
我在表中有一些记录,我想获取已插入的最新记录(查看插入日期,在本例中是名为reg_date的列)。
现在我的查询给了我表中的所有记录,但我只需要查看最新记录。我不能按日期分组,否则我会有最新的日期。我尝试了GROUP BY MAX(REG_DATE)
,它给出了一个错误,因为我不能以这种方式使用group。相反,我将其他东西分组,以使其显示出一些东西。以下是我的代码
select max(reg_date), secretNum
from REC_HLA
GROUP by secretNum;
所以,我的愿望/目标是,只显示最新日期的最新记录。
您可以尝试以下代码:
select reg_date, secretNum
from REC_HLA
order by reg_date desc
fetch first 1 row only
下面应该适用于你的情况,相关的子查询
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
)