微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

SQL-按ID表查找最大日期分组

如何解决SQL-按ID表查找最大日期分组

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;

sqlfiddlehttp://sqlfiddle.com/#!4/7eb75/1

解决方法

在下面的表格中,我需要获取状态日期等于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

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

select remun_id,max(date_maj)
from histo_statut_remun 
group by remun_id;

结果 :

REMUN_ID      DATE_MAJ                 
2122        08/27/2014 11:10:23        
1603        08/27/2014 11:10:21

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

我的目的是获取以下结果,这是第一个查询的子查询,以仅获取具有状态2的子查询。

REMUN_ID    DATE_MAJ                 
2122        08/27/2014 11:10:23

PS:如果我使用了将从中得到这些结果的子句:

REMUN_ID     DATE_MAJ                 
2122        08/27/2014 11:10:23        
1603        08/27/2014 11:08:32

那不是我想要的。

有什么建议?谢谢

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。