2011-02-03 5 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 

Iは、(TIME_OUT - time_in)、タスクの持続時間を計算します。あるユーザーの平均タスク時間を計算し、その後はすべてのユーザーに対して平均タスク時間を計算する必要があります。

私は、データセットを取得するために使用されたSQLクエリの中で最初に行います。この結果はINTERVALですが、BIRTでは文字列として扱われます(おそらくINTERVALデータ型が存在しないためです)。

ここでは、それぞれが区間を表す一連の文字列を持っています。どのように平均を計算するのですか?

P.S.私はまず、BIRTの 'Time'データ型を使用してこれを行うべきだと考えました。ただし、「時間」は1つの時刻であり、1つの時刻ではありません。 BIRTではINTERVALと同等ではないようです。

+0

SQLを使用して2番目の平均を計算してみませんか? –

答えて

0

平均集合関数を試しましたか?

user_avgとしてSELECT avg(time_out - time_in)FROM tasks WHERE user_name = 'bob';

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

0

birtに詳しいことはありませんが、私はPostgreSQLにそれをさせるのが最善の方法だと思います。平均化を行うビューを定義し、その中から選択します。

関連する問題