ORACLE 取表中最大日期的所有数据

IDDATEID2JOB10000032015/1/10RM003610000032014/10/10RM003610000032015/1/11RM0037100000... ID DATE ID2 JOB
1000003 2015/1/1 0 RM0036
1000003 2014/10/1 0 RM0036
1000003 2015/1/1 1 RM0037
1000004 2015/1/1 0 RM0016
1000004 2014/10/1 1 RM0016
1000004 2015/1/1 1 RM0016
表 A
这个A表中,要求取到 1000003 2015/1/1 1 RM0037
1000004 2015/1/1 1 RM0016
先按取最大的日期,如果一个ID有俩条然后再取最大的ID2
展开
 我来答
我要你的永恒
2018-03-30 · TA获得超过1560个赞
知道小有建树答主
回答量:10
采纳率:0%
帮助的人:1276
展开全部
  1. 第一种使用IN,在IN里面使用子查询查出最大日期,然后再把表的日期和查出的最大日期做等于。
    SELECT * FROM TABLE WHERE TRUNC(DATE) = (select max(trunc(date)) from table)

  2. 第二种可以使用NOT EXISTS,选择最大日期,那么就是不存在比自身日期大的数据
    SELECT * FROM TABLE  T
    WHERE NOT EXISTS (SELECT 1 FROM TABLE T1 WHERE TRUNC(T1.DATE) > TRUNC(T.DATE))

匿名用户
2017-02-28
展开全部
select *
  from test2 t
 where t.c_date = (select max(x.c_date) from test2 x) /*找最大时间的记录*/
   and (t.c_id, t.c_ID2) in
       (select c_id, max(c_id2) from test2 group by c_id having count(1) > 1) /*根据ID分组,取最大的c_id2*/

本回答被提问者采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式