首頁 > 資料庫 > mysql教程 > 如何為 SQL 中的每個鍵選擇最近的時間戳記行?

如何為 SQL 中的每個鍵選擇最近的時間戳記行?

Barbara Streisand
發布: 2024-12-17 16:45:11
原創
427 人瀏覽過

How to Select the Most Recent Timestamped Row for Each Key in SQL?

為每個鍵值選擇最新的時間戳行

在管理多個條目的資料時,通常需要識別和檢索包含最新時間戳記的記錄給定的機密。雖然簡單的方法可能涉及按鍵分組並按最大時間戳排序,但這可能會導致與未出現在 group by 子句中的欄位相關的錯誤。

為了克服此問題,另一個查詢結構提供了可行的解決方案:

SELECT sensorID,
       timestamp,
       sensorField1,
       sensorField2
FROM sensorTable s1
WHERE timestamp = (
    SELECT MAX(timestamp)
    FROM sensorTable s2
    WHERE s1.sensorID = s2.sensorID
)
ORDER BY sensorID, timestamp;
登入後複製

此查詢本質上將sensorTable s1中的每一行與其在sensorTable s2中最新帶時間戳的對應行進行比對。 WHERE 子句有效地過濾掉每個鍵具有最大時間戳記的行之外的所有行,確保所選資料是最新的。透過按感測器 ID 對結果進行分組並按時間戳排序,查詢將傳回一行,其中包含每個鍵的最新時間戳記以及所需的附加欄位。

以上是如何為 SQL 中的每個鍵選擇最近的時間戳記行?的詳細內容。更多資訊請關注PHP中文網其他相關文章!

來源:php.cn
本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
作者最新文章
熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板