Oracle SQL—选择最后两个数字的位置(即2020和2019财年)
我试图检索最近两个财政年度的数据(2020年和2019年),但我所做的一切都不起作用。在Oracle数据库中,它们存储为数字 有人能提供一些非常感激的帮助吗?谢谢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
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;