在线求一SQL语句,马上结贴,谢谢!
表内容如下:
ID SSC Time
-------- ----- -----------------------
ESP0000112007-08-14 14:55:18.000
ESP0000212007-08-20 14:27:08.417
INT0000122007-08-20 15:37:47.060
INT0000132007-08-20 16:53:11.280
ESP0000342007-08-20 17:16:02.060
ESP0000152007-08-20 18:09:27.983
ESP0000162007-08-20 18:09:53.297
ESP00003102007-08-21 18:36:52.287
ESP0000452007-08-22 16:50:33.413
ESP0000392007-08-23 15:30:49.850
MCI0000112007-08-23 17:19:36.807
ESP00003102007-08-23 17:22:23.087
ESP0000392007-08-24 11:12:14.973
我想查出来的结果如下:
ID SSC Time
-------- ----- -----------------------
ESP00001 6 2007-08-20 18:09:53.297
ESP00002 1 2007-08-20 14:27:08.417
ESP00003 9 2007-08-24 11:12:14.973
ESP00004 5 2007-08-22 16:50:33.413
INT00001 3 2007-08-20 16:53:11.280
MCI00001 1 2007-08-23 17:19:36.807
就是:查出ID相同,但是时间最大的一条记录,但是不允许ID重复,不知道我说清楚了没?谢谢大家!
[解决办法]
--这样?
select *
from 表名 as T
where [Time]=(select max([time]) from 表名 where id=T.id)
[解决办法]
----方法1
select * from table as a where not exists(select 1 from table where ID = a.ID and Time > a.Time)
----方法2
select * from table as a where Time = (select top 1 Time from table where ID = a.ID order by Time DESC)
----方法3
select * from table as a where Time = (select max(Time) from table where ID = a.ID)
[解决办法]
Select ID, Max(Time) Time from table
Group by ID
Order by ID