我正在为我的项目团队创建一个状态板模块。状态板允许用户将其状态设置为“进”或“出”,并且还可以提供注释。我计划将所有信息存储在一个表中......数据示例如下:
Date User Status Notes
-------------------------------------------------------
1/8/2009 12:00pm B.Sisko In Out to lunch
1/8/2009 8:00am B.Sisko In
1/7/2009 5:00pm B.Sisko In
1/7/2009 8:00am B.Sisko In
1/7/2009 8:00am K.Janeway In
1/5/2009 8:00am K.Janeway In
1/1/2009 8:00am J.Picard Out Vacation
我想查询数据并返回每个用户的最新状态,在这种情况下,我的查询将返回以下结果:
Date User Status Notes
-------------------------------------------------------
1/8/2009 12:00pm B.Sisko In Out to lunch
1/7/2009 8:00am K.Janeway In
1/1/2009 8:00am J.Picard Out Vacation
我正在尝试找出 TRANSACT-SQL 来实现这一点?任何帮助将不胜感激。
最佳答案
聚合在子查询派生表中,然后连接到它。
Select Date, User, Status, Notes
from [SOMETABLE]
inner join
(
Select max(Date) as LatestDate, [User]
from [SOMETABLE]
Group by User
) SubMax
on [SOMETABLE].Date = SubMax.LatestDate
and [SOMETABLE].User = SubMax.User
关于sql - 创建 SQL 查询以检索最新记录,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1049702/