2011-02-03 224 views
0

的平均我有由一系列任務以下數據庫表:BIRT:計算時間間隔

id BIGINT NOT NULL 
time_in timestamp(0) with time zone, 
time_out timestamp(0) with time zone, 
user_name text NOT NULL 

我計算任務的持續時間(TIME_OUT - time_in)。我需要先計算給定用戶的平均任務持續時間,然後再計算所有用戶的平均任務持續時間。

我在用於獲取數據集的SQL查詢中執行第一個操作。這是INTERVAL的結果,但是在BIRT中它被看作是一個字符串(可能是因爲INTERVAL數據類型不存在)。

所以,現在我有一組字符串,每個代表一個INTERVAL。我如何計算他們的平均值?

P.S.我首先想到我應該通過使用BIRT'時間'數據類型來做到這一點。但是,「時間」代表一天的時間,而不是間隔。 BIRT中的INTERVAL似乎並不相同。

+0

爲什麼不使用SQL計算第二個平均值? – 2011-02-03 13:33:18

回答

0

您是否嘗試過avg聚合函數?選擇avg(time_out - time_in)作爲user_avg FROM任務WHERE user_name ='bob';選擇avg(time_out_time_in)作爲user_avg FROM任務WHERE user_name ='bob';

SELECT avg(time_out - time_in)as all_avg FROM tasks;

0

不熟悉birt,但我認爲最好的辦法是讓PostgreSQL做到這一點。定義一個可以進行平均的視圖,並從中進行選擇。