1
機械のMTBF(平均故障間隔)を計算します。ここで、event_type = 0
はマシンが追加されたかどうか、そしてevent_type= 1
はマシンが失敗したときです。 MTBF = Time/number_of_failure
。MTBF(平均故障間隔)の計算
私のクエリは、期間までを起こるすべてのデータセット、失敗のない総数を各期間を取り、の障害の合計数で割ることによってMTBFを計算しています。
は、私は問題を説明願ってスムーズ
次の表のMTBFの予想結果:
machine_type_id time machine_id event_type MTBF
6298 0 6640223 0 0
28602 1.82296E+12 6640223 1 1.82296E+12
28610 1.82396E+12 6640223 0 1.82396E+12
33362 2.23891E+12 6640223 1 1.11946E+12
33409 2.2393E+12 6640223 0 1.11965E+12
マイクエリ:
select m.machine_id, m.time , m.time/sum(tet.total_failure) as MTBF
from
(
select machine_id, time, count(*) as total_failure from machine_events
where event_type=1
group by machine_id, time
) as tet inner join machine_events as m on m.machine_id = tet.machine_id
group by m.machine_id, m.time
order by m.time
私はあなたが単純なクエリを提供することを願ってですから、time
、machine id
を渡してMTBF
という関数を書くことができます。
私はevent_type列の名前を修正しました。 –
「ゼロエラーが発生しました」と表示されました。 – jou
更新されたマシンを表すデータセットにevent_type = 2がありますので、あなたの解決策の下ではそれを計算するかもしれませんが、event_type!= 2と書くと – jou