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

面试题,求每天最后一个到公司的人,求解。解决方案

2012-06-13 
面试题,求每天最后一个到公司的人,求解。IDNameDateTime1A2012/06/1109:081A2012/06/1109:101A2012/06/1109

面试题,求每天最后一个到公司的人,求解。
IDName Date Time
1A 2012/06/1109:08
1A 2012/06/1109:10
1A 2012/06/1109:10
1A 2012/06/1109:12
1A 2012/06/1209:15
1A 2012/06/1209:19
2B 2012/06/1109:13
2B 2012/06/1109:22
2B 2012/06/1209:16
2B 2012/06/1209:39

这是一张考勤表,求每天最后一个到公司的人。假设表名为SignIn.

[解决办法]

SQL code
select * from test awhere a.Time=(select max(Time) from test b where a.Date    =b.Date)
[解决办法]
SQL code
--#1.select     A.*,    B.name,    B.IDfrom(    select        Date = convert(char(10), Date, 120),        Time = max(Time)    from SignIn    group by convert(char(10), Date, 120)) Ainner join SignIn B    on A.Date = B.Date        and A.Time = B.time        --#2.select B.* from(select distinct [Date] from SignIn) Across apply(select top(1) * from SignIn where [Date] = A.[Date] order by [Time] desc) B 

热点排行