我已经阅读了许多回复和类似问题,但似乎无法将其应用于我的情况。我有一张平均有 10,000 条记录并且不断变化的表。它包含一个名为的列,该列deviceID
具有大约 20 个唯一值,另一个名为dateAndTime
和许多其他值,包括status1
and status2
。我需要为每个 deviceID 隔离一个实例,显示具有最新 dateAndTime 的记录。这很好用:
select DISTINCT deviceID, MAX(dateAndTime)
from MyTable
Group By deviceID
ORDER BY MAX(dateAndTime) DESC
(我注意到从上述语句中省略DISTINCT也会产生相同的结果)
但是,我无法扩展此语句以包含字段状态字段,而不会在语句中产生错误或不正确的结果。我曾尝试使用IN和EXISTS以及语法来隔离行,但都没有运气。我想知道如何嵌套或重写此查询,以便结果将显示唯一的 deviceID、最新记录的日期以及status
与这些唯一记录关联的相应字段。