如何在sql server中从表中查找最新记录?

如何在sql server中从表中查找最新记录?,sql,sql-server,tsql,sql-server-2008-r2,sql-server-2012,Sql,Sql Server,Tsql,Sql Server 2008 R2,Sql Server 2012,我的EmployeeData表格如下所示 Employee Jobnum city state Datetime Action -------------------------------------------------------------------------- Tom 123 mon La 2014-04-14 U Tom 123 mon La

我的
EmployeeData
表格如下所示

Employee    Jobnum    city   state   Datetime       Action
--------------------------------------------------------------------------    
Tom          123       mon    La     2014-04-14       U
Tom          123       mon    La     2014-04-14      D
Tom          123       mon    La     2014-04-13      D
Tom          124       tue    ca     2014-04-14      U
Tom          124       tue    ca     2014-04-14       I
Jerry        143       hr     NY     2014-04-14       D
Jerry        143       hr     NY     2014-04-14       I
Jerry        143       hr     NY     2014-04-14      I
当我查询该表时,我需要获取每个员工的最后记录

输出应该如下所示

Employee    Jobnum    city   state   Datetime  Action
---------------------------------------------------------------------------
Tom          123       mon    La     2014-04-14     D
Tom          124       tue    ca     2014-04-14      I
Jerry        143       hr     NY     2014-04-14       I

避免在列名中使用Sql Server关键字,如果在Sql Server中有任何列名是关键字,请在其周围使用方括号
[]

避免在列名中使用Sql Server关键字,如果在Sql Server中有任何列名是关键字,请在其周围使用方括号
[]

试试这个

select ed.* 
from Employeedata ed
inner join
(
select jobnum,max(datetime) as maxdate
from Employeedata
group by jobnum
 ) X 
on ed.DATETIME = X.maxdate
and ed.jobnum = X.jobnum
order by ed.jobnum;
这里演示小提琴

试试这个

select ed.* 
from Employeedata ed
inner join
(
select jobnum,max(datetime) as maxdate
from Employeedata
group by jobnum
 ) X 
on ed.DATETIME = X.maxdate
and ed.jobnum = X.jobnum
order by ed.jobnum;

这里演示小提琴

不同的列是什么?从您的示例中,它显示为Employee和Jobnum。是否还有其他类似于城市和/或州(示例中不清楚)?不同的列是什么?从您的示例中,它显示为Employee和Jobnum。是否还有其他类似城市和/或州(示例中不清楚)?