首頁 >資料庫 >mysql教程 >如何根據時間戳選擇最新的感測器資料?

如何根據時間戳選擇最新的感測器資料?

Mary-Kate Olsen
Mary-Kate Olsen原創
2024-12-23 22:57:15976瀏覽

How to Select the Most Recent Sensor Data Based on Timestamps?

根據時間戳鍵選擇最近的值

您使用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中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn