Access SQL:从每个ResourceID中选择TOP 1记录

时间:2017-08-17 09:54:23

标签: sql ms-access

我正在尝试从访问数据库获取单个SQL查询的5个值。

每一行都有字段'ID','ResourceID','TimeStamp'和其他非重要值。

具有最高'ID'的字段是最新值,但相同的'ResourceID'可以是最新'ID'的倍数。

我尝试了这样的查询,但这可以多次返回相同的ResourceID。我只想要每个'ResourceID'的最新值

SELECT TOP 5 * FROM tblMachineReport WHERE ResourceID in (61,63,64,68,70) ORDER BY ID DESC;

任何提示? :)

1 个答案:

答案 0 :(得分:0)

我认为你正在寻找这个:

SELECT mr.*
FROM tblMachineReport as mr
WHERE mr.id = (SELECT MAX(mr2.ID)
               FROM tblMachineReport as mr2
               WHERE mr2.ResourceID = mr.ResourceID
              ) AND
      mr.ResourceID in (61, 63, 64, 68, 70)
ORDER BY ID DESC;