使用 Oracle SQL 根據時間戳記擷取每組的最新資料點
本指南示範了檢索 Oracle 資料庫中每個群組的最新值的幾種方法,按時間戳排序。
基本查詢:
以下查詢檢索每個 id
的最新值及其關聯的日期和數量:
SELECT id, MAX(date) AS "DATE", MAX(quantity) AS "QUANTITY" FROM qtys GROUP BY id;
方法1:以特定時間視窗(例如最後XX分鐘)過濾
要將結果限制為最後 XX 分鐘內的項目,請合併 WHERE
子句:
SELECT id, date, quantity FROM qtys WHERE date > (SELECT MAX(date) - INTERVAL 'XX' MINUTE FROM qtys);
方法 2:將 ID 與另一個表格中的文字資料組合
要將 ID 附加到名為「idnames」的表中的相應文本,請使用以下查詢:
SELECT t1.id || '-' || t2.idname AS "ID-IDNAME", MAX(t1.date) AS "DATE", MAX(t1.quantity) AS "QUANTITY" FROM qtys t1 INNER JOIN idnames t2 ON t1.id = t2.id GROUP BY t1.id;
說明性結果:
預期的輸出格式類似:
<code>ID-IDNAME DATE QUANTITY ---------- ------------------- ---------- 1-testid1 2010-01-04 11:00 152 2-testid2 2010-01-04 11:00 210 3-testid3 2010-01-04 10:30 214 4-testid4 2010-01-04 10:45 122</code>
以上是如何根據時間檢索Oracle SQL中每組的最新值?的詳細內容。更多資訊請關注PHP中文網其他相關文章!