如何在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。是否还有其他类似城市和/或州(示例中不清楚)?