假設你需要知道某個東西在某個時間范圍內 "活躍 "了多長時間--(以分鐘為單位的時間戳為例)--
timestamp, state
2.1, unavailable
3.5, active
6.8, 等待中
7.3, 不可用
9.3, active
對于0-15分鐘的桶,答案是6.8-3.5 15-9.3=9.0分鐘。(即第一個活動狀態持續6.8-3.5分鐘,下一個活動狀態從9.3分鐘到15分鐘的障礙)。
你將如何在TimescaleDB中做這樣的事情呢?
uj5u.com熱心網友回復:
你的資料并不符合隱含的資料型別(3.5不是一個時間戳)。然而,你似乎是想獲得連續條目之間的差異之和。如果是這樣的話,請使用引導函式來獲得下一個值(與最后一個條目的15凝聚在一起),然后對活動狀態的差異進行求和。(見demo)
select sum(nts-ts)
from ( select ts , coalesce(lead(ts) over( order by ts) 。 15) nts, state from t) s
where state = 'active'
轉載請註明出處,本文鏈接:https://www.uj5u.com/net/324751.html
標籤:
上一篇:多對多的關系prisma
下一篇:如何從二維串列創建索引串列?
