我有一个表TABLE_X,其中包含以下数据:
**Sales_ID Start_Date End_Date**
S0001 01-01-2010 31-12-2020
S0002 01-01-2011 31-12-2021
S0003 01-01-2012 31-12-2012
S0004 01-01-2010 31-12-2019
现在我需要编写一个SQL查询来获得最新的开始和结束日期,结果将是
**Sales_ID Start_Date End_Date**
S0002 01-01-2011 31-12-2021
请注意,我使用的是Oracle DBMS。在这方面有谁能帮助我?
谢谢大家。
答案 0 :(得分:0)
select *
from
(
select your_table.*, row_number() over (order by end_date desc, start_date desc) as seqnum
from your_table
) t
where seqnum = 1
答案 1 :(得分:0)
在Oracle 12中,您也可以这样做:
select t.*
from table t
order by end_date desc, start_date desc
fetch first 1 rows only;