我正在尝试从访问数据库获取单个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;
任何提示? :)
答案 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;