首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 数据库 > SQL Server >

在线求一SQL语句,马上结贴,多谢

2012-02-14 
在线求一SQL语句,马上结贴,谢谢!表内容如下:IDSSCTime------------------------------------ESP0000112007

在线求一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

热点排行