我需要構建SQL查詢的幫助:SQL查詢來計算不同事件之間的平均持續時間
這裏是我用來存儲測試運行統計我的Postgres表。
CREATE TABLE logs
(
id bigint NOT NULL,
test_id int,
state text,
start_date timestamp with time zone,
end_date timestamp with time zone,
CONSTRAINT logs_pkey PRIMARY KEY (id)
)
此表包含測試開始時間,結束時間和狀態。 由於測試失敗,我需要計算我的使用情況。即測試失敗與下一次立即測試開始之間的時間間隔。
即對於每個測試失敗的記錄,獲取end_date並獲取相同測試的下一個立即記錄的start_date。 計算時差。 總結所有這些失敗記錄的持續時間,並按故障次數進行分類。得到平均水平。
例子:
比方說,我有以下數據表中,只有5列,在故障狀態,最後一列時間應該是我的查詢的一部分。
即我總共有3個失敗的記錄兩個測試1和一個測試2.所以total time = 130minutes/3 = around 43.3 minutes will be in secs
。
有人可以讓我這個SQL查詢?
能否請你舉一個例子,如果在日誌表中,哪些部分樣本數據將是所需的輸出那些記錄 – Utsav
你確定這是PostgreSQL嗎? 'AUTO_INCREMENT'和'DATETIME'看起來不像它... –
請通過添加您的PostgreSQL版本來更新您的問題。 – Houari