私がそのようなテーブルを持っているとしましょう:
IDofemployee category value importance range date
1 1 2 5 1 2013-04-17
1 1 3 4 2 2013-04-17
1 2 4 3 1 2013-04-17
2 1 7 2 1 2013-04-18
2 1 3 2 2 2013-04-18
そして今、私はfirebirdのSQLクエリの結果として次のようなものを持ちたいと思っています:
(範囲が同じ場合、同じ範囲のすべての値の平均を取る必要がありますが、従業員ごとに個別に)
emp wAVG date
1 (([2*5+4*3]/2)+[3*4])/3 =7.6 2013-04-17
2 (7*2+3*2)/2=10 2013-04-18
つまり、emp1 では行 1 と 3 から avg を取得する必要があるためです。これは、範囲がどちらの場合も =1 であるため、行 1 から取得する = 2*5(値*重要度) から行 3 =4*3 合計 2*5 + 4 を取得するためです。 *3 同じ範囲の行が 2 行あるため、この合計を 2 で割ります。