日期:2014-05-17  浏览次数:20630 次

Oracle查询语句求指教,大师进。
比如说我现在有这样一张学生成绩表,每个学生有多条成绩,录入时间不同。

姓名       成绩       时间
张三       90           2012-5-2   10:00:00
张三       80           2012-5-2   10:30:00
张三       70           2012-5-2   11:00:00
李四       90           2012-5-2   12:00:00
李四       80           2012-5-2   12:30:00
李四       70           2012-5-2   13:00:00
王五       90           2012-5-2   14:00:00
王五       80           2012-5-2   14:30:00
王五       70           2012-5-2   15:00:00


现在我想取出来的是,每个学生最近一次时间录入的成绩,就是说,想得到如下的数据。

张三       70           2012-5-2   11:00:00
李四       70           2012-5-2   13:00:00
王五       70           2012-5-2   15:00:00


请问Oracel语句怎么写呢,各位大虾帮帮忙啊~

------解决方案--------------------
select tabl.姓名,tabl.成绩,tabl.时间 (select 姓名,max(时间) from table1 group by 姓名)tab,table1 tabl where tab.姓名 = tabl.姓名 and tab.时间 = tabl.时间


根据姓名分组 然后查出时间最近的那条记录 没测试 楼主试试看