返回Toad中的最新行

时间:2018-11-14 15:26:31

标签: sql oracle oracle12c

所以我在Toad中有一个像这样的数据框:

implements Comparable<Name>

我的目标是只返回每个date1最近的行。因为11/1/12只有一排,这是我最近的一排。但是对于date1中的11/1/13,有两行具有相同的日期。因此,我接下来要看一下date2并说好,我最近的日期是13年7月12日,所以我只想返回该行而不是两者都返回。

我得到的数据框如下:

ID    Total_Amt   date1        date2      Name1   Name2
1     16          11/1/12      6/30/12    BOB     JON
1     17          11/1/13      7/12/13    BILL    JACK
1     17          11/1/13      7/1/13     BEN     ADA
1     18          11/1/14      11/5/14    JEFF    ALAN
1     18          11/1/14      11/1/14    JERI    FRANK

我只关心与每个日期有关的最新行,因此,如果date1中有多个具有相同日期的日期,那么我希望它也通过使用date2并查看来仅获取最新的行该字段中date1中找到的日期的最新信息。

1 个答案:

答案 0 :(得分:1)

使用row_number()窗口功能

select ID ,Total_Amt,date1,date2,Name1,Name2 from    
(
 select ID ,Total_Amt,date1,date2,Name1,Name2,
 row_number() over(order by date1 desc,date2 desc) rn from table_name
) t where rn=1