我有一個關係數據庫(postgres)和一個包含時間序列度量標準的表。每行包括 - obj_id, metric_id, timestamp, value
有條件的時間序列數據彙總
我們假設我有3個代碼感興趣的代碼 - 1,4,5。我想過濾出所有的對象,對於相同的時間戳(讓我們假設所有度量標準的時間戳都是固定間隔的),具有度量標準1 < 10和(度量標準4 +度量標準5)< 10,事件發生了。
更具體的例子:
obj_id metric_id timestamp value
------------------------------------------------------
1 1 83827 9
1 4 83827 2
1 5 83827 1
2 1 73261 11
2 4 73261 2
2 5 73261 5
1 1 92381 24
1 4 92381 10
1 5 92381 100
2 1 38239 7
2 4 38239 3
2 5 38239 4
預期的結果將是:
obj_id timestamp
---------------------
1 83827
2 38239
我試圖建立一個高效的查詢做。這就是我腦子裏想的,爲了得到4 + 5的總和相同的時間戳,但我不知道什麼是對這些查詢粘合在一起的最好辦法:我不知道
SELECT obj_id, timestamp, sum(value) AS x
FROM metric
WHERE metric_id = 4 OR metric_id = 5
group by obj_id, timestamp
如何添加到此查詢度量標準1(我們應該單獨查詢),然後通過obj_id
和timestamp
篩選出結果。
我想過也許使用一個自加入,通過時間戳加入同一個表的兩個內部選擇。
絕對的輝煌和作品像一個魅力,我甚至可以閱讀它。謝謝! – Avi