选择Last Updated Row with condition

时间:2013-05-08 20:31:37

标签: sql ms-access select

我正在构建一个工作负载跟踪系统,我有一个表,目前已经列出了要完成的所有任务(每个都有一个唯一的ID),但是还有一个带有日期戳的所有更新,以便我可以跟踪更新状态需要多长时间。

我的困境是,对于我想仅查询最新更新的表单,当前select查询分别显示原始任务和更新的任务。

总之,我想我需要做的是只选择一个任务,因为ID是最后一个具有相同任务编号的任务(与ID不同,更新时会有重复)< / p>

所以,如果我有:

ID Task Date 
1   A   4/30/13
2   B   5/2/13
3   A   5/3/13

该表仅显示:

ID Task Date
3   A   5/3/13
2   B   5/2/13

我该怎么做?我想我错过了一些简单的事情......

1 个答案:

答案 0 :(得分:4)

即使在Access中,也有多种方法可以处理此查询。以下是使用in和子查询的方法:

select t.*
from t
where t.id in (select MAX(id) as maxid
               from t
               group by task
              ) 
order by task

子查询找到所有任务的最大ID。然后它返回原始表中与这些ID匹配的行。