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)
这不是我想要的。
有什么建议?谢谢
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
| 归档时间: |
|
| 查看次数: |
627 次 |
| 最近记录: |