1

我正在构建一个工作负载跟踪系统,我有一个表,其中列出了所有要完成的任务(每个任务都有一个唯一的 ID),而且所有更新都带有时间戳,以便我可以跟踪它多长时间用于更新状态。

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

换句话说,我想我需要做的是只选择一个任务,因为 ID 是最后一个具有相同任务编号的任务(与 ID 不同,更新时会有重复)

所以如果我有:

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

我怎样才能做到这一点?我想我错过了一些简单的东西......

4

1 回答 1

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 匹配的行。

于 2013-05-08T21:02:06.970 回答