Access SQL - 仅选择最后一个序列

时间:2013-07-18 18:58:47

标签: sql ms-access

我有一个带有ID和多个信息列的表。但有时候,我可以有一个ID的多个数据,所以我添加了一个名为“Sequence”的列。这是一个缩短的例子:

ID      Sequence      Name     Tel       Date        Amount
124     1             Bob      873-4356  2001-02-03  10
124     2             Bob      873-4356  2002-03-12  7
124     3             Bob      873-4351  2006-07-08  24
125     1             John     983-4568  2007-02-01  3
125     2             John     983-4568  2008-02-08  13
126     1             Eric     345-9845  2010-01-01  18

所以,我想只获得这些内容:

124     3             Bob      873-4351  2006-07-08  24
125     2             John     983-4568  2008-02-08  13
126     1             Eric     345-9845  2010-01-01  18

任何人都可以告诉我如何构建SQL查询来执行此操作?

谢谢!

1 个答案:

答案 0 :(得分:2)

您可以使用group by计算最大序列。然后,您可以使用join仅获取原始数据中的最大值。

假设您的表名为t

select t.*
from t join
     (select id, MAX(sequence) as maxs
      from t
      group by id
     ) tmax
     on t.id = tmax.id and
        t.sequence = tmax.maxs