select b.* from (
select 姓名 ,max(id) from 表 group by 姓名
) a
left outer join 表 b on a.id=b.id
解决方案 »
- 请教一个oracle上建job问题
- pl sql 半角的判断
- oracle跟踪
- 关于时间的问题~~
- 求助:如何对数据库或表备份(或增量)时,把已经存在的数据库或表完全覆盖?=>
- 我要在Oracle数据库的表中建立一个自动增加字段,怎么操作啊,
- 一条sql语句,帮忙看看,用过的请说明意思!
- VB中的ADO真的不能接受存储过程返回记录集么?
- 在字符界面下用什么命令启动Server Manager,数据库是oracle 9i,系统win2003
- dbms_sql在存储过程中的应用问题,请帮忙??
- tomcat链接oracle数据库报错 求大神解决
- powerdesigner 修改nhibernate模板以及C#语言模板
WITH test AS (
SELECT 'Jack' 姓名,89 语文,'20100701' 录入时间 FROM dual UNION ALL
SELECT 'Tom' 姓名,90,'20100701' 录入时间 FROM dual UNION ALL
SELECT 'John' 姓名,98,'20100701' 录入时间 FROM dual UNION ALL
SELECT 'Smith' 姓名,89,'20100701' 录入时间 FROM dual UNION ALL
SELECT 'Tom' 姓名,79,'20110125' 录入时间 FROM dual UNION ALL
SELECT 'John' 姓名,99,'20110125' 录入时间 FROM dual UNION ALL
SELECT 'Tom' 姓名,86,'20110125' 录入时间 FROM dual
)
SELECT TEST.*
FROM TEST,
(SELECT MAX(录入时间) AS 录入时间, 姓名 FROM TEST GROUP BY 姓名) C
WHERE TEST.姓名 = C.姓名
AND TEST.录入时间 = C.录入时间
where t.id in(
select max(a.id) from table1 a group by a.id
)
查看上面的规律,貌似要得到的结果是最新录入的那条记录:
select a.,a.学号 a.姓名,a.语文,a.数学 ,a. 英语,a.录入时间 from t_test a,(select 姓名,max(录入时间) as 录入时间 from t_test group by 姓名 ) b
where a.姓名=b.姓名 and a.录入时间=b.录入时间;