当前位置: 代码迷 >> Sql Server >> 面试题,求每天最后一个到公司的人,求解。解决方案
  详细解决方案

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

热度:75   发布时间:2016-04-27 12:25:17.0
面试题,求每天最后一个到公司的人,求解。
ID Name Date Time
1 A 2012/06/11 09:08
1 A 2012/06/11 09:10
1 A 2012/06/11 09:10
1 A 2012/06/11 09:12
1 A 2012/06/12 09:15
1 A 2012/06/12 09:19
2 B 2012/06/11 09:13
2 B 2012/06/11 09:22
2 B 2012/06/12 09:16
2 B 2012/06/12 09: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
  相关解决方案