日期:2014-05-18  浏览次数:20452 次

我想查询 一个 表中 各个编号的最后一条记录
23 2007-8-10 政法 0000000003 黄发 走读生 104 女 0000000003 异常 进 2007-8-10   21:09:38 北区 08
24 2007-8-10 政法 0000000003 黄发 走读生 104 女 0000000003 异常 出 2007-8-10   21:10:32 北区 08
25 2007-8-10 英语组 0000000009 李超 走读生 104 女 0000000009 异常 进 2007-8-10   21:11:16 北区 08
26 2007-8-10 英语组 0000000009 李超 走读生 104 女 0000000009 异常 出 2007-8-10   21:12:01 北区 08


得到的是  
24 2007-8-10 政法 0000000003 黄发 走读生 104 女 0000000003 异常 出 2007-8-10   21:10:32 北区 08
26 2007-8-10 英语组 0000000009 李超 走读生 104 女 0000000009 异常 出 2007-8-10   21:12:01 北区 08

时间最后一条记录  


------解决方案--------------------
select *
from 表名 as t
where id = (select top 1 id from 表名 where 编号=t.编号 order by 时间 desc)
------解决方案--------------------
select * from 表 T_1,
( select 编号,时间=max(时间) from 表名 group by 编号 ) T_2
where T_1.编号=T_2.编号 and T_1.时间=T_2.时间
------解决方案--------------------
select * from table a where not eixsts(select 1 from table where id=a.id and 时间 <a.时间)