SQL - 按 id 表查找最大日期组

hb.*_*ara 2 sql oracle greatest-n-per-group

有一张下表,我需要获取最大日期为 2 的行

REMUN_ID    HISTO_ID   DATE_MAJ                 STATUT
2122        7005       08/27/2014 11:10:23        2
1603        5486       08/27/2014 11:10:21        1
2122        5151       08/27/2014 11:08:36        1
1603        4710       08/27/2014 11:08:32        2 
Run Code Online (Sandbox Code Playgroud)

我需要使用此请求获取具有最大日期的行并按 REMUN_ID 分组结果

REMUN_ID    HISTO_ID   DATE_MAJ                 STATUT
2122        7005       08/27/2014 11:10:23        2
1603        5486       08/27/2014 11:10:21        1
2122        5151       08/27/2014 11:08:36        1
1603        4710       08/27/2014 11:08:32        2 
Run Code Online (Sandbox Code Playgroud)

结果 :

REMUN_ID      DATE_MAJ                 
2122        08/27/2014 11:10:23        
1603        08/27/2014 11:10:21        
Run Code Online (Sandbox Code Playgroud)

我需要调整请求以仅从该结果中获取 statut = 2 的行

我的目的是得到下面的结果,第一个的子查询只得到那些状态为 2 的结果。

REMUN_ID    DATE_MAJ                 
2122        08/27/2014 11:10:23        
Run Code Online (Sandbox Code Playgroud)

PS:如果我使用了我会得到这些结果的条款:

REMUN_ID     DATE_MAJ                 
2122        08/27/2014 11:10:23        
1603        08/27/2014 11:08:32         
Run Code Online (Sandbox Code Playgroud)

这不是我想要的。

有什么建议?谢谢

a_h*_*ame 5

select remun_id, date_maj
from (
  select r.*, 
         max(date_maj) over (partition by REMUN_ID) as max_date
  from histo_statut_remun r
) 
where date_maj = max_date
  and statut = 2;
Run Code Online (Sandbox Code Playgroud)

SQLFiddle:http ://sqlfiddle.com/#!4/7eb75/1