Вернуть самую последнюю строку в жабе - PullRequest
0 голосов
/ 14 ноября 2018

Итак, у меня есть датафрейм, который выглядит следующим образом в Toad:

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

Моя цель - просто вернуть строки, которые являются самыми последними для каждой даты1.так как у меня есть только один ряд на 11.11.12, который был бы моим самым последним.однако для 01.11.13 в date1 есть две строки с одинаковой датой.Итак, я хочу посмотреть на date2 и сказать, хорошо, моя самая последняя дата для этого - 7/12/13, поэтому я хочу только вернуть эту строку, а не обе.

Мой результирующий фрейм данных будет выглядеть следующим образом:

 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     18          11/1/14      11/5/14    JEFF    ALAN

Меня интересует только самая последняя строка, поскольку она относится к каждой дате, поэтому, если в date1 имеется более одной даты стогда я хочу, чтобы она извлекала только самые последние данные, также используя date2 и просматривая самое последнее из этого поля для даты, найденной в date1.

1 Ответ

0 голосов
/ 14 ноября 2018

использование 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
...