Oracle SQL—选择最后两个数字的位置(即2020和2019财年)

Oracle SQL—选择最后两个数字的位置(即2020和2019财年),sql,oracle,Sql,Oracle,我试图检索最近两个财政年度的数据(2020年和2019年),但我所做的一切都不起作用。在Oracle数据库中,它们存储为数字 有人能提供一些非常感激的帮助吗?谢谢 SELECT Date_FY FROM Date_Lookup_Tbl_FY WHERE Date_FY IN (SELECT Date_FY FROM Date_Lookup_Tbl_FY WHERE Date_FY >= Max(Date_FY

我试图检索最近两个财政年度的数据(2020年和2019年),但我所做的一切都不起作用。在Oracle数据库中,它们存储为数字

有人能提供一些非常感激的帮助吗?谢谢

SELECT 
   Date_FY
FROM 
   Date_Lookup_Tbl_FY
WHERE
   Date_FY IN (SELECT Date_FY
               FROM Date_Lookup_Tbl_FY
               WHERE Date_FY >= Max(Date_FY) - 1
              )
这个怎么样

SELECT 
   Date_FY
FROM 
   Date_Lookup_Tbl_FY
WHERE
   Date_FY >= (SELECT max(Date_FY) - 1
               FROM Date_Lookup_Tbl_FY
              )

一种方法是使用窗口函数:

select dl.*
from (select dl.*, dense_rank() over (order by date_fy desc) as seqnum
      from Date_Lookup_Tbl_FY dl
     ) dl
where seqnum <= 2;

样本数据和预期结果是否有助于更轻松地提供解决方案?
select dl.*
from Date_Lookup_Tbl_FY dl
order by date_fy desc
fetch first 2 rows only;