【问题标题】:Get Row with Max Date from a Union All从联合全部中获取具有最大日期的行
【发布时间】:2013-09-25 18:35:25
【问题描述】:

从下面的查询中,我想找到每个 request_id 的最后一个 activity_dt 的事件。我已经为此工作了几个小时,但无济于事。有人可以帮忙吗?

select a.event as event, a.activity_dt as activity_dt, b.request_id as request_id
from gs_pr_obl_event a, gs_pr_obl b
where a.obligation_id = b.obligation_id
union all
select event as event, activity_dt as activity_dt, request_id as request_id
from gs_pr_req_event;

【问题讨论】:

    标签: oracle subquery max union


    【解决方案1】:

    这样试试,

    SELECT event, MAX(activity_dt), request_id
    FROM(
         SELECT A.event AS event, A.activity_dt AS activity_dt, b.request_id AS request_id
         FROM gs_pr_obl_event A, gs_pr_obl b
         WHERE A.obligation_id = b.obligation_id
         UNION ALL
         SELECT event AS event, activity_dt AS activity_dt, request_id AS request_id
         FROM gs_pr_req_event
         )
    GROUP BY event, request_id; 
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2015-02-25
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多