根据时间戳键选择最近的值
您使用 GROUP BY 和 max() 的初始方法原则上是正确的,但 SQL 语法要求在 GROUP BY 子句中包含非聚合列或在聚合中使用它们
正确的解决方案包括为每个传感器选择最大时间戳,然后在子查询中使用它来检索相应的传感器数据:
SELECT sensorID, MAX(timestamp) AS latest_timestamp, sensorField1, sensorField2 FROM sensorTable GROUP BY sensorID
此查询检索每个传感器的最大时间戳传感器。然后,您可以在嵌套查询中使用此子查询来检索具有该时间戳的所有传感器:
SELECT * FROM sensorTable WHERE timestamp = ( SELECT MAX(timestamp) FROM sensorTable WHERE sensorID = sensorTable.sensorID )
第二个查询会为每个传感器生成一行,其中包含最新的时间戳和关联的传感器数据。
以上是如何根据时间戳选择最新的传感器数据?的详细内容。更多信息请关注PHP中文网其他相关文章!