欢迎来到Doc100.Net免费学习资源知识分享平台!
您的位置:首页 > 程序异常 >

!oracle,查询语句

更新时间: 2014-01-05 02:10:23 责任编辑: Author_N1

 

求助!Oracle,查询语句
数据库中有1张表如下
create table Test
{
id varchar2(50) not null,
Cont varchar2(50) not null,
P_Add_Time date not null,
P_Update_Time date not null
}

表中有重复Id,但每个Id的P_Add_Time都不相同,写一个查询的sql语句,查出所有数据(所有列均显示),若遇到id有重复的取时间最近(也就是最大)的那一条数据,其他的不显示,要求有实践证明的,没有实践证明的请勿空谈。
--参考方法--
with tt as(
select id,cont,P_Add_Time,P_Update_Time,row_number() over(partition by id order by P_Add_Time desc) rn from test
)
select id,cont,P_Add_Time,P_Update_Time from tt where rn=1;
--参考方法--
SELECT id,cont,p_add_time,p_update_time FROM test a
WHERE p_add_time =(SELECT MAX(p_add_time) FROM test b WHERE b.id=a.id); 

--参考方法--
在Mysql下通过:
SELECT 
  * 
FROM
  test t3 
WHERE EXISTS 
  (SELECT 
    1 
    FROM (SELECT 
      t1.`id`,
      MAX(t1.`P_Add_Time`) P_Add_Time 
    FROM
      test t1 
    GROUP BY t1.`id`) t2 
  WHERE t3.`id` = t2.id 
    AND t3.`P_Add_Time` = t2.P_Add_Time)
上一篇:上一篇
下一篇:下一篇

 

随机推荐程序问答结果

 

 

如对文章有任何疑问请提交到问题反馈,或者您对内容不满意,请您反馈给我们DOC100.NET论坛发贴求解。
DOC100.NET资源网,机器学习分类整理更新日期::2014-01-05 02:10:23
如需转载,请注明文章出处和来源网址:http://www.doc100.net/bugs/t/6506/
本文WWW.DOC100.NET DOC100.NET版权所有。